Deklarowanie odpowiednich uprawnień

Usługi dotyczące zdrowia na Wear OS korzystają z tych uprawnień:

W tabeli poniżej znajdziesz informacje o tym, jakie uprawnienia są wymagane w aplikacji na podstawie typów danych dotyczących kondycji, które chcesz udostępniać użytkownikom. Pamiętaj o przestrzeganiu podstawowych zasad dotyczących prośby o uprawnienia, w tym o prośbie o uprawnienia w kontekście.

Jeśli Twoja aplikacja jest przeznaczona na interfejs API na poziomie 36 lub wyższym i korzysta z uprawnienia PassiveMonitoringClient, aby uzyskać dostęp do informacji z czujników na ciele w tle, poproś o uprawnienie READ_HEALTH_DATA_IN_BACKGROUND. Jeśli Twoja aplikacja jest kierowana na poziom interfejsu API od 33 do 35 włącznie, poproś o oba uprawnienia: BODY_SENSORSBODY_SENSORS_BACKGROUND.

Typ danych Uprawnienia
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

Przejście na obsługę poziomu API 36

Jeśli Twoja aplikacja jest kierowana na Wear OS 6 (poziom interfejsu API 36) lub nowszy, wykonaj te czynności, aby przenieść ją na obsługę najnowszych wersji platformy Wear OS:

  1. W pliku manifestu dodaj uprawnienia starsze maxSdkVersion, a także nowe uprawnienia 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. Jeśli aplikacja wymaga dostępu do czujników na ciele podczas działania w tle, dodaj uprawnienie maxSdkVersion dla starszego uprawnienia do działania w tle oraz nowsze uprawnienie 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. Poproś o przyznanie uprawnienia do odczytu tętna wszędzie tam, gdzie aplikacja sprawdza uprawnienia BODY_SENSORBODY_SENSORS_BACKGROUND, filtrując według wersji Wear OS. Przykład:

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