Объявите соответствующие разрешения

Службы здравоохранения на 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)
    }