Permisos de Android

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.

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

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.

  1. Agrega el permiso al archivo de manifiesto.

    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
    
  2. Comprueba 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

Para que tu app pueda orientarse al nivel de API 28 o versiones anteriores, haz lo siguiente:

  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"/>