Los permisos de Android tienen como objetivo proteger la privacidad de un usuario de Android. Le solicitan al usuario que otorgue permisos 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 alguno de estos tipos de datos (un subconjunto de los tipos de datos de Google Fit), solicita el permiso de Android pertinente 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 de Android ACTIVITY_RECOGNITION:
Para registrar estos tipos de datos:
com.google.step_count.deltacom.google.step_count.cumulativecom.google.step_count.cadencecom.google.activity.segmentcom.google.calories.expended
Para leer estos tipos de datos:
com.google.step_count.deltacom.google.step_count.cumulativecom.google.step_count.cadencecom.google.activity.segmentcom.google.activity.exercise
Para acceder a estos tipos de datos, deberás solicitar el permiso de Android ACCESS_FINE_LOCATION:
- Para leer estos tipos de datos:
com.google.distance.deltacom.google.location.samplecom.google.location.bounding_boxcom.google.speed
Para registrar estos tipos de datos, deberás solicitar el permiso de Android BODY_SENSORS:
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 anteriores con las APIs de Google Fit, deberás implementar una lógica para controlar la solicitud de permisos de Android para Android 10 y versiones anteriores de Android. En estos ejemplos, se usa el ACTIVITY_RECOGNITION permiso.
Android 10
Para que tu app pueda orientarse al nivel de API 29 o superior, solicita el permiso al usuario y regístralo 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
Para que tu app pueda orientarse al nivel de API 28 o inferior, 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"/>