BODY_SENSORS_BACKGROUND가 부여되었는지 확인합니다. 권한이 없다면 권한을 요청합니다.
그림 1. 백그라운드 센서 데이터 액세스 권한을 부여하는 항상 허용 옵션이 포함된 센서 설정
주의: 앱에서 두 가지 생체 신호 센서 권한을 동시에 요청하는 경우 시스템은 요청을 무시하고 앱에 어떤 권한도 부여하지 않습니다.
Android 13(API 수준 33) 이상에서는 런타임 권한 대화상자에 '항상 허용' 옵션이 없습니다. 대신 사용자는 그림 1과 같이 시스템 설정에서 백그라운드 센서 액세스 항상 허용을 사용 설정해야 합니다. BODY_SENSORS 권한을 부여한 후 BODY_SENSORS_BACKGROUND 권한을 요청하면 사용자가 이 설정 페이지로 쉽게 이동할 수 있습니다. 사용자가 항상 액세스를 거부하더라도 앱을 계속 사용할 수 있어야 합니다.
앱이 이전 버전을 타겟팅함
그림 2. 사용자가 시스템 설정에 있는 앱의 센서 권한으로 이동할 수 있는 링크가 포함된 권한 대화상자
앱이 Android 13보다 낮은 버전의 Android를 타겟팅하는 경우 BODY_SENSORS 권한을 요청할 때 백그라운드 액세스가 자동으로 부여되지 않습니다. 대신 그림 2와 같이 앱의 센서 권한 설정으로 이동하도록 사용자를 초대하는 시스템 대화상자가 사용자에게 표시됩니다. 그런 다음 사용자는 해당 설정 페이지에서 백그라운드 센서 사용을 사용 설정해야 합니다.
사용자는 백그라운드 액세스를 거부할 수 있습니다. 앱이 백그라운드에서 실행되는 동안 BODY_SENSORS 권한을 취소하는 것과 효과가 같습니다. 앱이 백그라운드 액세스 권한 없이 PassiveMonitoringClient를 사용하다가 백그라운드로 이동하면 앱은 BODY_SENSORS 권한을 잃게 되고 onPermissionLost() 콜백이 호출됩니다. 따라서 런타임 권한 요청 권장사항을 따르는 것이 특히 중요합니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Request background access to body sensor data\n\nAndroid 13 and Wear OS 4 introduce a way for apps to access body sensors, such\nas heart rate, from the background. This new access model is similar to the one\nthat introduced [background location access in Android 10 (API level 29)](/training/location/permissions#request-background-location).\n\nIf your app needs to access body sensor information in background, such as when\n[monitoring Health Services data in the background](/health-and-fitness/guides/health-services/monitor-background), you must request the\n[`BODY_SENSORS_BACKGROUND`](/reference/android/Manifest.permission#BODY_SENSORS_BACKGROUND) permission.\n| **Note:** `BODY_SENSORS_BACKGROUND` is a restricted permission which cannot be held by your app until the installer adds your app to an allowlist, or until the user lets your app have the permission.\n\nAs described on the [privacy best practices](/privacy/best-practices) page, apps should only ask for\nthe `BODY_SENSORS_BACKGROUND` permission when it is critical to the user-facing\nfeature, and they should properly disclose this to users.\n\nThe process for granting the permission depends on your app's target SDK\nversion.\n\nApp targets Android 13 or higher\n--------------------------------\n\nIn addition to the existing [`BODY_SENSORS`](/reference/android/Manifest.permission#BODY_SENSORS) permission, declare the\n`BODY_SENSORS_BACKGROUND` permission in your manifest file: \n\n \u003cuses-permission android:name=\"android.permission.BODY_SENSORS\"\u003e\n \u003cuses-permission android:name=\"android.permission.BODY_SENSORS_BACKGROUND\"\u003e\n\nThen, your app must [request](/training/permissions/requesting) the permissions in separate operations:\n\n1. Check if `BODY_SENSORS` is granted. If not, request the permission.\n2. Check if `BODY_SENSORS_BACKGROUND` is granted. If not, request the permission.\n\n**Figure 1.** Sensors setting includes an option called **All the\ntime**, which grants background sensor data access. \n**Caution:** If your app requests both body sensor permissions at the\nsame time, the system ignores the request and doesn't grant your app either\npermission.\n\nOn Android 13 (API level 33) and higher, the runtime permission dialog doesn't\ninclude the \"Allow all the time\" option. Instead, users must enable all-the-time\nbackground sensor access from system settings, as shown in figure 1. When you\nrequest the `BODY_SENSORS_BACKGROUND` permission after granting the\n`BODY_SENSORS` permission, you can help users navigate to this settings page. If\nusers decline all-the-time access, they should be able to continue using your\napp.\n\n\u003cbr /\u003e\n\nApp targets an earlier version\n------------------------------\n\n**Figure 2.** Permission dialog includes a link to navigate users to the app's sensor permissions in system settings.\n\nWhen your app targets a version of Android earlier than Android 13, background\naccess isn't granted automatically when you request the `BODY_SENSORS`\npermission. Instead, users see a system dialog that invites users to navigate to\nyour app's sensor permission settings, as shown in figure 2. Then, users must\nenable background sensor usage on that settings page.\n\nUsers can decline the background access. It has the same effect as revoking the\n`BODY_SENSORS` permission while your app is running in the background. When an\napp is using [`PassiveMonitoringClient`](/reference/kotlin/androidx/health/services/client/PassiveMonitoringClient) without background access permission\nand goes into the background, the app loses the `BODY_SENSORS` permission, and\nthe [`onPermissionLost()`](/reference/kotlin/androidx/health/services/client/PassiveListenerService#onPermissionLost()) callback is called. For these reasons, it's\nespecially important that you follow best practices for requesting runtime\npermissions."]]