Android 13 e Wear OS 4 introducono un modo per consentire alle app di accedere ai sensori del corpo, ad esempio come battito cardiaco, dallo sfondo. Questo nuovo modello di accesso è simile a quello attuale che ha introdotto l'accesso alla posizione in background in Android 10 (livello API 29).
Se la tua app deve accedere alle informazioni dei sensori del corpo in background, ad esempio quando
il monitoraggio dei dati di Servizi sanitari in background, devi richiedere
Autorizzazione BODY_SENSORS_BACKGROUND
.
Come descritto nella pagina Best practice per la privacy, le app devono richiedere solo
l'autorizzazione BODY_SENSORS_BACKGROUND
quando è fondamentale per l'utente
e devono comunicarlo correttamente agli utenti.
La procedura per concedere l'autorizzazione dipende dall'SDK target della tua app completamente gestita.
L'app ha come target Android 13 o versioni successive
Oltre all'autorizzazione BODY_SENSORS
esistente, dichiara il
Autorizzazione BODY_SENSORS_BACKGROUND
nel file manifest:
<uses-permission android:name="android.permission.BODY_SENSORS">
<uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND">
Quindi, l'app deve richiedere le autorizzazioni in operazioni separate:
- Controlla se è stato concesso l'accesso a
BODY_SENSORS
. In caso contrario, richiedi l'autorizzazione. - Controlla se è stato concesso l'accesso a
BODY_SENSORS_BACKGROUND
. In caso contrario, richiedi autorizzazione.
Attenzione:se l'app richiede entrambe le autorizzazioni del sensore del corpo e allo stesso tempo, il sistema ignora la richiesta e non concede nemmeno alla tua app autorizzazione.
Su Android 13 (livello API 33) e versioni successive, la finestra di dialogo delle autorizzazioni di runtime non
includi l'opzione "Consenti sempre" . Gli utenti devono attivare l'impostazione
l'accesso al sensore di background dalle impostazioni di sistema, come mostrato nella Figura 1. Quando
richiedi l'autorizzazione BODY_SENSORS_BACKGROUND
dopo aver concesso l'autorizzazione
BODY_SENSORS
, puoi aiutare gli utenti a raggiungere questa pagina delle impostazioni. Se
se gli utenti negano l'accesso continuo, dovrebbero poter continuare a usare
dell'app.
L'app ha come target una versione precedente
Quando la tua app ha come target una versione di Android precedente ad Android 13, in background
l'accesso non viene concesso automaticamente quando richiedi l'BODY_SENSORS
autorizzazione. Gli utenti vedranno invece una finestra di dialogo di sistema che invita a passare alla
impostazioni di autorizzazione dei sensori dell'app, come mostrato nella Figura 2. Quindi, gli utenti devono
attiva l'utilizzo del sensore in background su quella pagina delle impostazioni.
Gli utenti possono rifiutare l'accesso in background. Ha lo stesso effetto della revoca del
Autorizzazione BODY_SENSORS
mentre la tua app è in esecuzione in background. Quando
L'app usa PassiveMonitoringClient
senza autorizzazione di accesso in background
e passa in background, l'app perde l'autorizzazione BODY_SENSORS
e
viene chiamato il callback onPermissionLost()
. Per questi motivi,
particolarmente importante che tu segua le best practice per richiedere il tempo di esecuzione
autorizzazioni aggiuntive.