Службы здравоохранения на 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 .
| Тип данных | Разрешение |
|---|---|
CALORIESCALORIES_DAILYDISTANCE_DAILYDECLINE_DISTANCEDISTANCEELEVATION_GAINELEVATION_LOSSFLAT_GROUND_DISTANCEFLOORSFLOORS_DAILYGOLF_SHOT_COUNTINCLINE_DISTANCEPACEREP_COUNTRUNNING_STEPSSPEEDSTEPSSTEPS_DAILYSTEPS_PER_MINUTESWIMMING_LAP_COUNTSWIMMING_STROKESCALORIES_TOTALWALKING_STEPSUserActivityInfoUserActivityState | ACTIVITY_RECOGNITION |
HEART_RATE_BPM | READ_HEART_RATE |
ABSOLUTE_ELEVATIONLOCATION | 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) }