Le autorizzazioni di accesso alla posizione tristate in Android 10 offrono agli utenti un maggiore controllo sul modo in cui le app accedono alla posizione dei loro dispositivi.
In Android 9 e versioni precedenti, gli utenti facevano scelte permanenti quando concedevano l'accesso alla posizione alle app. Potevano scegliere tra Nega o Consenti, quest'ultimo consentiva alle app di accedere sempre (in primo piano e in background). Le autorizzazioni di accesso alla posizione tristate in Android 10 offrono agli utenti tre opzioni per consentire a un'app di accedere alla posizione di un dispositivo. Agli utenti viene chiesto di concedere o negare il livello di autorizzazione quando un'app lo richiede.
In genere, un utente vede le tre opzioni mostrate nella Figura 1. Tuttavia, esistono casi d'uso in cui sono richieste solo due di queste opzioni e, in questi casi, vengono mostrate solo queste due.

Figura 1. Schermata delle notifiche tristate.
Ecco le tre opzioni:
- Consenti sempre: la posizione del dispositivo è nota all'app anche quando non è in uso (funziona in background). Ciò equivale a consentire l'autorizzazione su Android 9 e versioni precedenti.
- Consenti solo mentre l'app è in uso: (solo in primo piano) la posizione del dispositivo è visibile all'app solo quando è in esecuzione attiva.
- Nega: la posizione del dispositivo non è mai visibile all'app. È lo stesso che negare l'autorizzazione in Android 9 e versioni precedenti.
Agli utenti viene chiesto di concedere l'autorizzazione di accesso alla posizione quando le app la richiedono.
Una volta che un utente ha concesso l'autorizzazione di accesso Consenti solo mentre l'app è in uso, un'app può richiedere un aumento incrementale dell'accesso a Consenti sempre. L'utente visualizza una finestra di dialogo di richiesta (mostrata nella Figura 2). Se l'utente seleziona Mantieni l'accesso durante l'utilizzo, quando l'app accede alla posizione del dispositivo al successivo utilizzo, la finestra di dialogo offre l'opzione Mantieni e non chiedere più.
La finestra di dialogo viene visualizzata nelle seguenti condizioni per le app che hanno come target Android 10:
- Dopo almeno 24 ore dalla concessione dell'autorizzazione.
- Solo se l'app riceve posizioni in background.
- Quando lo schermo è attivo e l'utente non utilizza un'altra app.

Figura 2. Autorizzazioni incrementali.
Per scoprire di più su come richiedere le autorizzazioni, consulta Accesso delle app alla posizione del dispositivo. Per maggiori dettagli, se la tua app ha come target Android 9 e versioni precedenti, consulta Continuazione dell'azione avviata dall'utente.
Impatto
La funzionalità di autorizzazioni di accesso alla posizione tristate interessa qualsiasi app che abbia bisogno di accedere alla posizione del dispositivo durante l'esecuzione in background ed è obbligatoria in Android 10.
Puoi modificare il codice, ma non puoi alterare o personalizzare il comportamento correlato alle autorizzazioni nel framework.
Implementazione
Le autorizzazioni di accesso alla posizione tristate vengono applicate alle app in Android 10 indipendentemente dall'SDK target di un'app.
Per informazioni sull'implementazione dei casi d'uso dell'app (durante gli upgrade), consulta la sezione Progettare per gli scenari di upgrade del dispositivo nella documentazione per gli sviluppatori.
Per scoprire come attivare l'accesso per diversi casi d'uso (ad esempio richiedere l'accesso alla posizione in background per app come Google Maps o Google Play Services), consulta questi argomenti nella pagina Accesso dell'app alla posizione del dispositivo:
Accesso alla posizione in-app
Gli utenti possono scegliere di impostare le autorizzazioni di accesso della tua app su Nega o Consenti solo mentre l'app è in uso. Per l'autorizzazione di accesso alla posizione in-app e per tutte le app di proprietà dell'utente e di terze parti, fornisci i livelli di controllo utente indicati nella tabella seguente.
Tipo di autorizzazione che l'app deve richiedere | Opzioni utente da fornire |
---|---|
L'app richiede solo autorizzazioni in primo piano | Consenti solo mentre l'app è in uso Rifiuta |
L'app richiede sempre l'autorizzazione (in primo piano e in background) | Consenti sempre Consenti solo mentre l'app è in uso Rifiuta |
Tutte le app con richieste di accesso alla posizione | Consenti solo mentre usi l'app |
Queste autorizzazioni si applicano a tutte le richieste di accesso alla posizione. Le app con autorizzazioni Consenti solo mentre l'app è in uso non sono autorizzate a eseguire scansioni Wi-Fi o cellulari in background.
Su Android 11 o versioni precedenti, le app con autorizzazioni Consenti solo mentre l'app è in uso non sono consentite per le ricerche Bluetooth in background. A partire da Android 12, le app con autorizzazioni Consenti solo mentre l'app è in uso possono ottenere i risultati della ricerca Bluetooth impostando il valore dell'attributo android:usesPermissionFlags
su neverForLocation
. Per maggiori dettagli, consulta
L'app
non ricava la posizione fisica.
Upgrade del sistema operativo
In caso di upgrade del sistema operativo ad Android 10, le autorizzazioni di accesso alla posizione delle app vengono trasposte come segue:
- On diventa Consenti solo durante l'uso.
- L'opzione Off rimane disattivata (Deny).
- L'accesso alla posizione concesso in precedenza diventa l'autorizzazione Consenti solo durante l'uso concessa in precedenza.