Permisos de Android

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.

Ejemplo de la pantalla de consentimiento de permisos de Android
Figura 1: Pantalla de consentimiento de permisos de Android

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.

  1. Agrega el permiso al archivo de manifiesto.

    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
    
  2. Verifica si se otorgó el permiso:

    if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION)
              != PackageManager.PERMISSION_GRANTED) {
          // Permission is not granted
    }
    
  3. 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:

  1. Solicita el permiso com.google.android.gms.permission.ACTIVITY_RECOGNITION.

  2. Agrega el permiso al archivo de manifiesto.

    <uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>