Permisos de Android

Los permisos de Android tienen como objetivo proteger la privacidad de los usuarios de Android. Incitan al usuario cuando las apps quieren acceder a tipos de datos sensibles, como contactos o fotos 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 acceder a cualquiera de estos tipos de datos (un subconjunto de los tipos de datos de Google Fit), solicita los permiso de Android antes de solicitar los permisos de OAuth. Consulta la información 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 más información sobre cómo solicitar permisos de Android, la permiso de reconocimiento de actividad física, el 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 se pueda orientar al nivel de API 29 o superior, solicita el permiso al y registra el permiso 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 puede orientarse al nivel de API 28 o versiones anteriores:

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