Le autorizzazioni Android hanno lo scopo di proteggere la privacy di un utente Android. Richiedono L'utente quando le app vogliono accedere a tipi di dati per dati sensibili come contatti o foto. di sistema come il rilevamento della posizione o dei passi. Gli utenti concedono queste autorizzazioni al primo download dell'app.
Se la tua app ha bisogno di accedere a uno di questi tipi di dati (un sottoinsieme dei tipi di dati di Google Fit), richiedi l'autorizzazione Android pertinente prima di richiedere le autorizzazioni OAuth. Consulta quanto riportato di seguito.

Tipi di dati che richiedono le autorizzazioni Android
Per accedere a questi tipi di dati sull'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 di BODY_SENSORS
per Android:
com.google.heart_rate.bpm
Richiesta delle autorizzazioni Android
Scopri di più sulla richiesta delle autorizzazioni Android, sull'autorizzazione di riconoscimento dell'attività fisica, sull'autorizzazione di accesso alla posizione esatta e sull'autorizzazione di accesso ai sensori del corpo.
Per accedere ai tipi di dati sopra indicati con le API Google Fit, devi implementare la logica per gestire la richiesta delle autorizzazioni Android sia per Android 10 sia per le versioni precedenti di Android. Questi esempi utilizzano l'autorizzazione ACTIVITY_RECOGNITION
.
Android 10
In questo modo, la tua app può avere come target il livello API 29 o versioni successive, richiedere l'autorizzazione all'utente e registrarla nel file manifest dell'applicazione.
Aggiungi l'autorizzazione al file manifest.
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
Controlla se l'autorizzazione è stata concessa:
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION) != PackageManager.PERMISSION_GRANTED) { // Permission is not granted }
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:
Richiedi l'autorizzazione
com.google.android.gms.permission.ACTIVITY_RECOGNITION
.Aggiungi l'autorizzazione al file manifest.
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>