宣告適當權限

Wear OS 上的健康照護服務會使用下列獨特權限:

請參閱下表,根據您要向使用者呈現的健身資料類型,判斷應用程式需要哪些權限。請務必遵循要求權限的基本原則,包括在情境中要求權限。

如果應用程式指定的 API 級別為 36 以上,且使用 PassiveMonitoringClient 在背景存取人體感應器資訊,請要求 READ_HEALTH_DATA_IN_BACKGROUND 權限。如果應用程式指定的 API 級別介於 33 和 35 之間 (含 33 和 35),請改為同時要求 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)
    }