Autorizzazioni Android

Le autorizzazioni Android hanno lo scopo di proteggere la privacy di un utente Android. Suggerisci all'utente quando le app vogliono accedere ai tipi di dati sensibili per i contatti, come foto o contatti, e funzionalità di sistema quali il rilevamento della posizione o del passaggio. Gli utenti concedono queste autorizzazioni quando scaricano per la prima volta la tua app.

Se la tua app deve 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 relativa alle autorizzazioni Android
Figura 1.La schermata per il consenso delle autorizzazioni Android.

Tipi di dati che richiedono le autorizzazioni Android

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

  • Per registrare 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.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 per 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 Android di BODY_SENSORS:

  • com.google.heart_rate.bpm

Richiesta di autorizzazioni Android

Scopri di più su come richiedere le autorizzazioni di Android, l'autorizzazione di riconoscimento dell'attività fisica, l'autorizzazione di accesso alla posizione e l'autorizzazione di accesso ai sensori del corpo.

Per accedere ai tipi di dati sopra indicati con le API di Google Fit, dovrai implementare la logica per gestire la richiesta delle autorizzazioni per Android sia per Android 10 sia per le versioni precedenti di Android. Questi esempi utilizzano l'autorizzazione ACTIVITY_RECOGNITION.

Android 10

Pertanto, la tua app può avere come target il livello API 29 o superiore, 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

In questo modo l'app può avere come target il livello API 28 o inferiore:

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