Dichiara le autorizzazioni appropriate

Health Services su Wear OS utilizza le seguenti autorizzazioni distinte:

Consulta la tabella seguente per determinare quali autorizzazioni sono necessarie per la tua app, in base ai tipi di dati relativi al fitness che vuoi presentare agli utenti. Assicurati di seguire i principi di base per la richiesta delle autorizzazioni, incluso chiedere le autorizzazioni in base al contesto.

Se la tua app ha come target il livello API 36 o versioni successive e utilizza PassiveMonitoringClient per accedere alle informazioni dei sensori del corpo in background, richiedi l'autorizzazione READ_HEALTH_DATA_IN_BACKGROUND. Se la tua app ha come target un livello API compreso tra 33 e 35 inclusi, richiedi invece le autorizzazioni BODY_SENSORS e BODY_SENSORS_BACKGROUND.

Tipo di dati Autorizzazione
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

Esegui la migrazione per supportare il livello API 36

Se la tua app ha come target Wear OS 6 (livello API 36) o versioni successive, segui questi passaggi per eseguire la migrazione dell'app in modo che supporti le versioni più recenti della piattaforma Wear OS:

  1. Nel file manifest, aggiungi maxSdkVersion per l'autorizzazione precedente, nonché l'autorizzazione READ_HEART_RATE moderna:

    <uses-permission android:name="android.permission.BODY_SENSORS"
                     android:maxSdkVersion="35" />
    <uses-permission android:name="android.permission.health.READ_HEART_RATE" />
    
  2. Se la tua app richiede l'accesso ai sensori del corpo durante l'esecuzione in background, aggiungi maxSdkVersion per l'autorizzazione in background precedente e l'autorizzazione READ_HEALTH_DATA_IN_BACKGROUND moderna:

    <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. Richiedi e verifica che l'autorizzazione di accesso alla frequenza cardiaca sia concessa ovunque la tua app controlli l'autorizzazione BODY_SENSOR e BODY_SENSORS_BACKGROUND, filtrando in base alla versione di Wear OS. Ad esempio:

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