適切な権限を宣言する

Wear OS のヘルスサービスは、次の個別の権限を使用します。

ユーザーに表示するフィットネス データの種類に基づいて、アプリに必要な権限を次の表で確認してください。状況に応じた権限のリクエストなど、権限をリクエストする際の基本原則に必ず従ってください。

アプリが API レベル 36 以降をターゲットとし、PassiveMonitoringClient を使用してバックグラウンドでボディセンサー情報にアクセスする場合は、READ_HEALTH_DATA_IN_BACKGROUND 権限をリクエストします。アプリの対象が API レベル 33 ~ 35 の場合は、代わりに BODY_SENSORS 権限と BODY_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_SENSOR 権限と BODY_SENSORS_BACKGROUND 権限を確認するすべての場所で、Wear OS のバージョンでフィルタリングして、心拍数権限が付与されていることをリクエストして確認します。次に例を示します。

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