Autorizzazioni Android

Le autorizzazioni Android mirano a proteggere la privacy di un utente Android. Chiedono all'utente quando le app vogliono accedere ai tipi di dati sensibili come contatti o foto e funzionalità di sistema come il rilevamento della posizione o dei passi. Gli utenti concedono queste autorizzazioni quando scaricano la tua app per la prima volta.

Se la tua app ha bisogno di accedere a uno di questi tipi di dati (un sottoinsieme dei tipi di dati Google Fit), richiedi l'autorizzazione Android pertinente prima di richiedere le autorizzazioni OAuth. Consulta quanto riportato di seguito.

Esempio della schermata per il consenso alle autorizzazioni Android
Figura 1.Schermata di consenso per le autorizzazioni Android.

Tipi di dati che richiedono autorizzazioni Android

Per accedere a questi tipi di dati sull'attività fisica, devi richiedere l'autorizzazione Android ACTIVITY_RECOGNITION:

  • Per registrare i seguenti tipi di dati:

    • com.google.step_count.delta
    • com.google.step_count.cumulative
    • com.google.step_count.cadence
    • com.google.activity.segment
    • com.google.calories.expended
  • Per leggere questi tipi di dati:

    • com.google.step_count.delta
    • com.google.step_count.cumulative
    • com.google.step_count.cadence
    • com.google.activity.segment
    • com.google.activity.exercise

Per accedere a questi tipi di dati, devi richiedere l'autorizzazione ACCESS_FINE_LOCATION Android:

  • Per leggere questi tipi di dati:
    • com.google.distance.delta
    • com.google.location.sample
    • com.google.location.bounding_box
    • com.google.speed

Per registrare questi tipi di dati, devi richiedere l'autorizzazione di BODY_SENSORS per Android:

  • com.google.heart_rate.bpm

Richiesta di autorizzazioni Android

Scopri di più sulla richiesta delle autorizzazioni Android, sull'autorizzazione per il riconoscimento delle attività fisiche, sull'autorizzazione di accesso alla posizione granulare e sull'autorizzazione per i sensori del corpo.

Per accedere ai tipi di dati precedenti con le API Google Fit, devi implementare la logica che consente di gestire la richiesta di autorizzazioni Android sia per Android 10 che per le versioni precedenti di Android. In questi esempi viene utilizzata l'autorizzazione ACTIVITY_RECOGNITION.

Android 10

Di conseguenza, la tua app può avere il livello API target 29 o versioni successive, richiedere l'autorizzazione all'utente e registrarla nel file manifest dell'applicazione.

  1. Aggiungi l'autorizzazione al file manifest.

    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
    
  2. Verifica se l'autorizzazione è stata concessa:

    if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION)
              != PackageManager.PERMISSION_GRANTED) {
          // Permission is not granted
    }
    
  3. Se l'autorizzazione non è già stata concessa, richiedila:

    ActivityCompat.requestPermissions(thisActivity,
                arrayOf(Manifest.permission.ACTIVITY_RECOGNITION),
                MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
    

Android 9 e versioni precedenti

Di conseguenza, la tua app può avere come target il livello API 28 o un livello precedente:

  1. Richiedi l'autorizzazione com.google.android.gms.permission.ACTIVITY_RECOGNITION.

  2. Aggiungi l'autorizzazione al file manifest.

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