Richiedi l'accesso in background ai dati dei sensori del corpo

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:

  1. Controlla se è stato concesso l'accesso a BODY_SENSORS. In caso contrario, richiedi l'autorizzazione.
  2. Controlla se è stato concesso l'accesso a BODY_SENSORS_BACKGROUND. In caso contrario, richiedi autorizzazione.
L&#39;opzione Sempre è la prima voce dell&#39;elenco nella schermata delle impostazioni.
. Figura 1. L'impostazione dei sensori include un'opzione denominata Tutte le tempo di utilizzo, che concede l'accesso ai dati dei sensori in background.

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

Il testo del link è &quot;Vai alle impostazioni&quot;
. Figura 2. La finestra di dialogo delle autorizzazioni include un link a cui indirizzare gli utenti le autorizzazioni dell'app per i sensori nelle impostazioni di sistema.

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.