Разрешения Android призваны защитить конфиденциальность пользователя. Они запрашивают у пользователя доступ к данным, содержащим конфиденциальную информацию, такую как контакты или фотографии, а также к системным функциям, таким как местоположение или отслеживание шагов. Пользователи предоставляют эти разрешения при первой загрузке вашего приложения.
Если вашему приложению необходим доступ к каким-либо из этих типов данных (подмножество типов данных Google Fit), запросите соответствующее разрешение Android перед запросом разрешений OAuth. См. ниже .

Типы данных, для которых требуются разрешения Android.
Для доступа к этим типам данных о физической активности вам потребуется запросить разрешение Android ACTIVITY_RECOGNITION :
Для записи данных следующих типов:
-
com.google.step_count.delta -
com.google.step_count.cumulative -
com.google.step_count.cadence -
com.google.activity.segment -
com.google.calories.expended
-
Для чтения данных следующих типов:
-
com.google.step_count.delta -
com.google.step_count.cumulative -
com.google.step_count.cadence -
com.google.activity.segment -
com.google.activity.exercise
-
Для доступа к этим типам данных вам потребуется запросить разрешение Android ACCESS_FINE_LOCATION :
- Для чтения данных следующих типов:
-
com.google.distance.delta -
com.google.location.sample -
com.google.location.bounding_box -
com.google.speed
-
Для записи данных этих типов вам потребуется запросить разрешение Android BODY_SENSORS :
-
com.google.heart_rate.bpm
Запрос разрешений Android
Узнайте о запросе разрешений Android , включая разрешение на распознавание физической активности , разрешение на точное определение местоположения и разрешение на использование датчиков тела .
Для доступа к указанным выше типам данных с помощью API Google Fit вам потребуется реализовать логику обработки запросов на получение разрешений Android как для Android 10, так и для более ранних версий Android. В этих примерах используется разрешение ACTIVITY_RECOGNITION .
Android 10
Таким образом, ваше приложение может ориентироваться на API уровня 29 или выше, запрашивать разрешение у пользователя и регистрировать это разрешение в файле манифеста приложения.
Добавьте необходимые разрешения в файл манифеста .
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>Проверьте, предоставлено ли разрешение :
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION) != PackageManager.PERMISSION_GRANTED) { // Permission is not granted }Если разрешение еще не получено, запросите его:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android 9 и ниже
Таким образом, ваше приложение сможет работать с API уровня 28 или ниже:
Запросите разрешение
com.google.android.gms.permission.ACTIVITY_RECOGNITION.Добавьте необходимые разрешения в файл манифеста .
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>