Los permisos de Android tienen como objetivo proteger la privacidad de los usuarios de Android. Le avisan 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 la 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 correspondiente antes de solicitar los permisos de OAuth. Consulta la siguiente información.
Tipos de datos que necesitan permisos de Android
Si quieres 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, sigue estos pasos:
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 sobre cómo solicitar permisos de Android, el permiso de reconocimiento de actividad física, el permiso de ubicación precisa y el permiso de sensores corporales.
Si quieres acceder a los tipos de datos mencionados anteriormente con las APIs de Google Fit, deberás implementar una lógica para controlar las solicitudes de permisos de Android tanto para Android 10 como para 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 uno superior, 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"/>
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ó el permiso, solicítalo:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android 9 y versiones anteriores
Por lo tanto, tu app pueda orientarse al nivel de API 28 o uno anterior:
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"/>