El objetivo de los permisos de Android es proteger la privacidad del usuario de Android. Le solicitan al usuario cuando las apps quieren acceder a tipos de datos sensibles, como contactos o fotos, y a funciones del sistema, como la ubicación o la detección de pasos. Los usuarios otorgan estos permisos cuando descargas la app por primera vez.
Si tu app necesita acceso a cualquiera de estos tipos de datos (un subconjunto de los tipos de datos de Google Fit), solicita el permiso de Android correspondiente antes de solicitar los permisos de OAuth. Consulta a continuación.

Tipos de datos que necesitan permisos de Android
Para acceder a estos tipos de datos de actividad física, deberás solicitar el permiso ACTIVITY_RECOGNITION
de Android:
Para registrar estos tipos de datos, haz lo siguiente:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.calories.expended
Para leer estos tipos de datos, haz lo siguiente:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.activity.exercise
Para acceder a estos tipos de datos, deberás solicitar el permiso ACCESS_FINE_LOCATION
de Android:
- Para leer estos tipos de datos, haz lo siguiente:
com.google.distance.delta
com.google.location.sample
com.google.location.bounding_box
com.google.speed
Para registrar estos tipos de datos, deberás solicitar el permiso BODY_SENSORS
de Android:
com.google.heart_rate.bpm
Cómo solicitar permisos de Android
Obtén información para solicitar permisos de Android, el permiso de reconocimiento de actividad física, el permiso de ubicación precisa y el permiso de sensores corporales.
Para acceder a los tipos de datos mencionados anteriormente con las APIs de Google Fit, deberás hacer lo siguiente:
implementar lógica para controlar la solicitud de permisos de Android para Android 10 y
versiones anteriores de Android. En estos ejemplos, se usa el permiso ACTIVITY_RECOGNITION
.
Android 10
Para que tu app pueda orientarse al nivel de API 29 o versiones posteriores, solicitar el permiso al usuario y registrarlo en el archivo de manifiesto de la aplicación.
Agrega el permiso al archivo de manifiesto.
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
Comprueba si se otorgó el permiso:
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION) != PackageManager.PERMISSION_GRANTED) { // Permission is not granted }
Si aún no se otorgó el permiso, solicítalo:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android 9 y versiones anteriores
Para que tu app pueda orientarse al nivel de API 28 o versiones anteriores, haz lo siguiente:
Solicita el permiso
com.google.android.gms.permission.ACTIVITY_RECOGNITION
.Agrega el permiso al archivo de manifiesto.
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>