Службы здравоохранения на Wear OS используют следующие отдельные разрешения:
-
READ_HEART_RATE
для считывания информации о частоте сердечных сокращений. -
ACTIVITY_RECOGNITION
-
ACCESS_FINE_LOCATION
-
BODY_SENSORS
на Wear OS 5.1 (уровень API 35) и ниже -
BODY_SENSORS_BACKGROUND
между Wear OS 4 (уровень API 33) и Wear OS 5.1 (уровень API 35) включительно
Ознакомьтесь со следующей таблицей, чтобы определить, какие разрешения необходимы для вашего приложения, на основе типов фитнес-данных, которые вы хотите предоставить пользователям. Обязательно следуйте основным принципам запроса разрешений , включая запрос разрешений в контексте.
Если ваше приложение нацелено на 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:
В файле манифеста добавьте
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" />
Если вашему приложению требуется доступ к датчикам тела во время работы в фоновом режиме, добавьте
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" />
Запросите и подтвердите, что разрешение на пульс предоставляется везде, где ваше приложение проверяет разрешения
BODY_SENSOR
иBODY_SENSORS_BACKGROUND
, фильтруя по версии Wear OS. Например:if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) { this.add(HealthPermissions.READ_HEART_RATE) }