Autorizzazioni per la posizione in tre stati

Le autorizzazioni di localizzazione a tre stati in Android 10 offrono agli utenti un maggiore controllo sul modo in cui le app accedono alle posizioni dei loro dispositivi.

In Android 9 e versioni precedenti, gli utenti effettuavano scelte persistenti quando concedevano l'accesso alla posizione alle app. Potevano rifiutare o consentire, l'ultimo dei quali ha dato apps accedere per tutto il tempo (primo piano e sfondo). Le autorizzazioni di localizzazione a tre stati in Android 10 offrono agli utenti tre opzioni per consentire a un'app di accedere alla posizione di un dispositivo. Agli utenti viene richiesto di concedere o negare il livello di autorizzazione quando un'app lo richiede.

Un utente normalmente vede le tre scelte presentate nella Figura 1. Tuttavia, ci sono casi d'uso in cui sono richieste solo due di queste opzioni, e in questi casi vengono mostrate solo quelle due.

Tristate location permissions screen
Schermo Figura 1. Tristate notifiche

Queste sono le tre opzioni:

  • Lasciare tutto il tempo: la posizione del dispositivo è noto per l'applicazione anche quando l'applicazione non è in uso (in esecuzione in background). Ciò equivale a consentire l'autorizzazione in Android 9 e versioni precedenti.
  • Consentire solo mentre l'applicazione è in uso: (in primo piano solo) la posizione del dispositivo è visibile solo per l'applicazione quando è attivamente in esecuzione.
  • Nega: la posizione del dispositivo non è mai visibile al app. Questo equivale a negare l'autorizzazione in Android 9 e versioni precedenti.

Agli utenti viene richiesto di concedere l'autorizzazione all'accesso alla posizione quando le app richiedono l'autorizzazione.

Una volta che un utente concede Consenti solo mentre l'applicazione è in uso l'autorizzazione di accesso, un'applicazione può richiedere un aumento incrementale di accesso per consentire tutto il tempo. L'utente vede una finestra di richiesta (mostrata nella figura 2 ). Se l'utente seleziona Mantenere l'accesso, mentre in uso, quando l'applicazione accede posizione del dispositivo sul successivo utilizzo, la finestra di dialogo offre la possibilità di mantenere e non chiedere di nuovo.

La finestra di dialogo viene visualizzata in queste condizioni per le app destinate ad Android 10:

  • Dopo almeno 24 ore dalla concessione dell'autorizzazione.
  • Solo se l'app riceve posizioni in background.
  • Quando lo schermo è acceso e l'utente non sta utilizzando un'altra app.
Incremental permissions
Autorizzazioni figura 2. incrementali

Per ulteriori informazioni su richiesta di autorizzazioni, vedere l'accesso a App posizione del dispositivo . Per i dettagli, se i vostri obiettivi app Android 9 e inferiore, vedere Continuazione di un'azione avviata dall'utente .

Impatto

La funzione di autorizzazione alla posizione a tre stati influisce su qualsiasi app che richiede l'accesso alla posizione del dispositivo durante l'esecuzione in background ed è richiesta in Android 10.

Si può modificare il codice, ma non si può modificare o personalizzare il comportamento relativi alle autorizzazioni nel quadro.

Implementazione

Le autorizzazioni di posizione a tre stati vengono applicate alle app in Android 10 indipendentemente dall'SDK di destinazione dell'app.

Per informazioni sull'implementazione di casi d'uso del vostro app (su aggiornamenti), fare riferimento alla progettazione per il dispositivo scenari di aggiornamento sezione nella documentazione per gli sviluppatori.

Per vedere come abilitare l'accesso per i diversi casi d'uso (come la richiesta della posizione in background l'accesso per le applicazioni come Google Maps o servizi di Google Play), visualizzare questi temi all'ordine del l'accesso alla posizione del dispositivo App pagina:

Accesso alla posizione in-app

Gli utenti possono modificare i permessi di accesso del vostro app per rifiutare o consentire solamente se si utilizza l'applicazione, se lo desiderano. Per l'autorizzazione di accesso alla posizione in-app e per tutte le app proprietarie e di terze parti, fornisci i livelli di controllo utente indicati nella tabella seguente.

L'app del tipo di autorizzazione deve essere richiesta Opzioni utente da fornire
L'app richiede solo le autorizzazioni in primo piano Consenti solo durante l'utilizzo dell'app
Negare
L'app richiede sempre l'autorizzazione (in primo piano e in background) Consenti tutto il tempo
Consenti solo durante l'utilizzo dell'app
Negare
Tutte le app con richieste di accesso alla posizione Consenti solo durante l'utilizzo dell'app

Queste autorizzazioni si applicano a tutte le richieste di posizione. Apps con Consenti sfondo solamente se si utilizza le autorizzazioni delle app non sono ammessi Wi-Fi o scansioni cellulari.

Su Android 11 o inferiore, applicazioni con Consenti solamente se si utilizza le autorizzazioni delle app non sono ammessi scansioni sfondo Bluetooth. Da Android 12, con le app consentono solo durante l'utilizzo delle autorizzazioni delle app possono ottenere risultati di scansione Bluetooth impostando il valore del android:usesPermissionFlags attributo neverForLocation . Per maggiori dettagli, vedi App non deriva posizione fisica .

Aggiornamenti del sistema operativo

Su un aggiornamento del sistema operativo ad Android 10, le autorizzazioni per la posizione dell'app si traducono in base a quanto segue:

  • Su diventa Consentire solo durante l'uso.
  • Spento rimane spento (Nega).
  • L'accesso alla posizione di pre-accordato diventa Consenti solo durante l'uso pre-concessione.