El objetivo de los permisos de Android es proteger la privacidad de un usuario de Android. Le informan 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 descargan tu app por primera vez.
Si tu app necesita acceder a cualquiera de estos tipos de datos (un subconjunto de los tipos de datos de Google Fit), solicita el permiso de Android relevante antes de solicitar los permisos de OAuth. Consulta la información 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:
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á solicitar el permiso BODY_SENSORS
de Android:
com.google.heart_rate.bpm
Cómo solicitar permisos de Android
Obtén más información sobre cómo solicitar permisos de Android, de reconocimiento de actividad física, permiso de ubicación precisa y permiso de sensores corporales.
Para acceder a los tipos de datos anteriores con las API de Google Fit, tendrás que implementar una lógica que controle la solicitud de permisos de Android para Android 10 y versiones anteriores. En estos ejemplos, se usa el permiso ACTIVITY_RECOGNITION
.
Android 10
Por lo tanto, tu app puede orientarse al nivel de API 29 o uno superior, solicitar el permiso al usuario y registrarlo en el archivo de manifiesto.
Agrega el permiso al archivo de manifiesto.
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
Verifica 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ó, solicítale:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android 9 y versiones anteriores
Por lo tanto, tu app puede orientarse a una API nivel 28 o inferior:
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"/>