생체 신호 센서 데이터에 백그라운드 액세스 요청

Android 13 및 Wear OS 4에는 앱이 백그라운드에서 심박수와 같은 생체 신호 센서에 액세스하는 방법이 도입되었습니다. 이 새로운 액세스 모델은 Android 10 (API 수준 29)에 백그라운드 위치 정보 액세스를 도입한 모델과 유사합니다.

앱이 백그라운드에서 생체 신호 센서 정보에 액세스해야 하는 경우(예: 백그라운드에서 건강 관리 서비스 데이터 모니터링) BODY_SENSORS_BACKGROUND 권한을 요청해야 합니다.

개인 정보 보호 권장사항 페이지에 설명된 대로 앱은 사용자 대상 기능에 중요한 경우에만 BODY_SENSORS_BACKGROUND 권한을 요청해야 하며 이를 적절하게 사용자에게 공개해야 합니다.

권한 부여 프로세스는 앱의 타겟 SDK 버전에 따라 다릅니다.

Android 13 이상을 타겟팅하는 앱

기존 BODY_SENSORS 권한 외에 다음과 같이 매니페스트 파일에서 BODY_SENSORS_BACKGROUND 권한을 선언하세요.

<uses-permission android:name="android.permission.BODY_SENSORS">
<uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND">

그런 다음 앱은 별도의 작업으로 권한을 요청해야 합니다.

  1. BODY_SENSORS가 부여되었는지 확인합니다. 권한이 없다면 권한을 요청합니다.
  2. BODY_SENSORS_BACKGROUND가 부여되었는지 확인합니다. 권한이 없다면 권한을 요청합니다.
&#39;항상 허용&#39; 옵션이 설정 화면의 첫 번째 목록 항목입니다.
그림 1. 백그라운드 센서 데이터 액세스 권한을 부여하는 항상 허용 옵션이 포함된 센서 설정

주의: 앱에서 두 가지 생체 신호 센서 권한을 동시에 요청하는 경우 시스템은 요청을 무시하고 앱에 어떤 권한도 부여하지 않습니다.

Android 13(API 수준 33) 이상에서는 런타임 권한 대화상자에 '항상 허용' 옵션이 없습니다. 대신 사용자는 그림 1과 같이 시스템 설정에서 백그라운드 센서 액세스 항상 허용을 사용 설정해야 합니다. BODY_SENSORS 권한을 부여한 후 BODY_SENSORS_BACKGROUND 권한을 요청하면 사용자가 이 설정 페이지로 쉽게 이동할 수 있습니다. 사용자가 항상 액세스를 거부하더라도 앱을 계속 사용할 수 있어야 합니다.

앱이 이전 버전을 타겟팅함

링크 텍스트는 &#39;설정으로 이동&#39;입니다.
그림 2. 사용자가 시스템 설정에 있는 앱의 센서 권한으로 이동할 수 있는 링크가 포함된 권한 대화상자

앱이 Android 13보다 낮은 버전의 Android를 타겟팅하는 경우 BODY_SENSORS 권한을 요청할 때 백그라운드 액세스가 자동으로 부여되지 않습니다. 대신 그림 2와 같이 앱의 센서 권한 설정으로 이동하도록 사용자를 초대하는 시스템 대화상자가 사용자에게 표시됩니다. 그런 다음 사용자는 해당 설정 페이지에서 백그라운드 센서 사용을 사용 설정해야 합니다.

사용자는 백그라운드 액세스를 거부할 수 있습니다. 앱이 백그라운드에서 실행되는 동안 BODY_SENSORS 권한을 취소하는 것과 효과가 같습니다. 앱이 백그라운드 액세스 권한 없이 PassiveMonitoringClient를 사용하다가 백그라운드로 이동하면 앱은 BODY_SENSORS 권한을 잃게 되고 onPermissionLost() 콜백이 호출됩니다. 따라서 런타임 권한 요청 권장사항을 따르는 것이 특히 중요합니다.