Permisos de Android

El objetivo de los permisos de Android es proteger la privacidad de un usuario de Android. Le informan 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 tu 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 relevante 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 los 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:

    • 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á 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, de reconocimiento de actividad física, permiso de ubicación precisa y permiso de sensores corporales.

Para acceder a los tipos de datos anteriores con las API de Google Fit, tendrás que implementar una lógica que controle la solicitud de permisos de Android para Android 10 y versiones anteriores. En estos ejemplos, se usa el permiso ACTIVITY_RECOGNITION.

Android 10

Por lo tanto, tu app puede orientarse al nivel de API 29 o uno superior, solicitar el permiso al usuario y registrarlo en el archivo de manifiesto.

  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ó, solicítale:

    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 a una API nivel 28 o inferior:

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