적절한 권한 선언

Wear OS의 건강 관리 서비스는 다음과 같은 고유한 권한을 사용합니다.

사용자에게 표시하려는 피트니스 데이터 유형에 따라 앱에 필요한 권한을 확인하려면 다음 표를 참고하세요. 컨텍스트에서 권한을 요청하는 등 권한 요청에 관한 기본 원칙을 따르세요.

앱이 API 수준 36 이상을 타겟팅하고 PassiveMonitoringClient를 사용하여 백그라운드에서 생체 신호 센서 정보에 액세스하는 경우 READ_HEALTH_DATA_IN_BACKGROUND 권한을 요청합니다. 앱이 33~35 사이의 API 수준을 타겟팅하는 경우 대신 BODY_SENSORSBODY_SENSORS_BACKGROUND 권한을 모두 요청하세요.

데이터 유형 권한
CALORIES
CALORIES_DAILY
DISTANCE_DAILY
DECLINE_DISTANCE
DISTANCE
ELEVATION_GAIN
ELEVATION_LOSS
FLAT_GROUND_DISTANCE
FLOORS
FLOORS_DAILY
GOLF_SHOT_COUNT
INCLINE_DISTANCE
PACE
REP_COUNT
RUNNING_STEPS
SPEED
STEPS
STEPS_DAILY
STEPS_PER_MINUTE
SWIMMING_LAP_COUNT
SWIMMING_STROKES
CALORIES_TOTAL
WALKING_STEPS
UserActivityInfo
UserActivityState
ACTIVITY_RECOGNITION
HEART_RATE_BPM READ_HEART_RATE
ABSOLUTE_ELEVATION
LOCATION
ACCESS_FINE_LOCATION

API 수준 36을 지원하도록 이전

앱이 Wear OS 6 (API 수준 36) 이상을 타겟팅하는 경우 다음 단계에 따라 앱을 최신 버전의 Wear OS 플랫폼을 지원하도록 이전하세요.

  1. 매니페스트 파일에서 기존 권한의 maxSdkVersion와 최신 READ_HEART_RATE 권한을 추가합니다.

    <uses-permission android:name="android.permission.BODY_SENSORS"
                     android:maxSdkVersion="35" />
    <uses-permission android:name="android.permission.health.READ_HEART_RATE" />
    
  2. 앱이 백그라운드에서 실행되는 동안 생체 신호 센서에 액세스해야 하는 경우 기존 백그라운드 권한에 maxSdkVersion를 추가하고 최신 READ_HEALTH_DATA_IN_BACKGROUND 권한을 추가합니다.

    <uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND"
                     android:maxSdkVersion="35" />
    <uses-permission android:name="android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND" />
    
  3. 앱이 BODY_SENSORBODY_SENSORS_BACKGROUND 권한을 확인하는 모든 위치에서 심박수 권한이 부여되었는지 요청하고 확인합니다(Wear OS 버전별로 필터링). 예를 들면 다음과 같습니다.

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {
        this.add(HealthPermissions.READ_HEART_RATE)
    }