Questa pagina tratta i seguenti argomenti:
- Come richiedere l'accesso alla posizione in background.
- Come gestire la richiesta in base alla versione dell'SDK target della tua app.
- In che modo le preferenze dell'utente per la posizione approssimativa influiscono sul modo in cui la tua app ottiene la posizione in background.
I contenuti della finestra di dialogo delle autorizzazioni dipendono dalla versione dell'SDK target
Quando una funzionalità della tua app richiede la posizione in background su un dispositivo con Android 10 (livello API 29), la finestra di dialogo delle autorizzazioni di sistema include un'opzione denominata Consenti sempre. Se l'utente seleziona questa opzione, la funzionalità della tua app ottiene l'accesso alla posizione in background.
Su Android 11 (livello API 30) e versioni successive, tuttavia, la finestra di dialogo di sistema non include l'opzione Consenti sempre. Gli utenti devono invece attivare la posizione in background in una pagina delle impostazioni, come mostrato nella Figura 7.
Puoi aiutare gli utenti a navigare in questa pagina delle impostazioni seguendo le best practice quando richiedi l'autorizzazione alla posizione in background. La procedura per concedere l'autorizzazione dipende dalla versione dell'SDK di destinazione della tua app.
L'app ha come target Android 11 o versioni successive
Se alla tua app non è stata concessa l'autorizzazione ACCESS_BACKGROUND_LOCATION
e
shouldShowRequestPermissionRationale()
restituisce true
, mostra un'interfaccia utente
didattica agli utenti che includa quanto segue:
- Una spiegazione chiara del motivo per cui la funzionalità della tua app ha bisogno di accedere alla posizione in background.
- L'etichetta visibile all'utente dell'opzione delle impostazioni che concede la posizione in background (ad esempio, Consenti sempre nella figura 7). Puoi chiamare
getBackgroundPermissionOptionLabel()
per ottenere questa etichetta. Il valore restituito di questo metodo è localizzato in base alla preferenza di lingua del dispositivo dell'utente. - Un'opzione per gli utenti per rifiutare l'autorizzazione. Se gli utenti rifiutano l'accesso alla posizione in background, dovrebbero poter continuare a utilizzare la tua app.
L'app ha come target Android 10 o versioni precedenti
Quando una funzionalità della tua app richiede l'accesso alla posizione in background, gli utenti visualizzano una finestra di dialogo di sistema. Questa finestra di dialogo include un'opzione per accedere alle opzioni di autorizzazione di accesso alla posizione dell'app in una pagina delle impostazioni.
Se la tua app segue già le best practice per richiedere le autorizzazioni di accesso alla posizione, non devi apportare modifiche per supportare questo comportamento.
L'utente può influire sulla precisione della posizione in background
Se l'utente richiede la posizione approssimativa, le scelte dell'utente nella
finestra di dialogo delle autorizzazioni di accesso alla posizione si applicano anche alla posizione in background. In altre parole,
se l'utente concede alla tua app l'autorizzazione ACCESS_BACKGROUND_LOCATION
, ma
concede solo l'accesso alla posizione approssimativa in primo piano, la tua app ha accesso
alla posizione approssimativa anche in background.
Risorse aggiuntive
Per ulteriori informazioni sulle autorizzazioni di accesso alla posizione in Android, consulta i seguenti materiali:
Codelab
Video
Campioni
- App di esempio per dimostrare l'utilizzo delle autorizzazioni di accesso alla posizione.