Android offre agli utenti trasparenza mostrando indicatori della privacy per i seguenti tipi di accesso:
Accesso a fotocamera e microfono. L'indicatore viene visualizzato quando un'app utilizza un'origine dati privata tramite le autorizzazioni app-op di fotocamera e microfono. Per il requisito CDD correlato, vedi 2.2.5. Modello di sicurezza.
Accesso alla posizione. L'indicatore viene visualizzato quando un'app accede alla posizione del dispositivo. Per il requisito CDD correlato, vedi 9.8.8. Posizione.
Gli utenti toccano un indicatore per vedere quali app hanno avuto accesso ai loro dati.
Utilizzi attivi e recenti
L'interfaccia utente di Android distingue tra utilizzi in esecuzione e utilizzi recenti:
In Android 17 o versioni successive, gli utilizzi della posizione sono considerati attivi se sono contrassegnati dal sistema come in esecuzione o se risalgono a meno di 10 secondi. Per il punto della posizione, l'accesso è considerato attivo se l'app non di sistema è in esecuzione in stato di primo piano.
In Android 12 o versioni successive, l'utilizzo del microfono e della fotocamera è considerato attivo se è contrassegnato dal sistema come in esecuzione o se risale a meno di cinque secondi.
Le icone della barra di stato vengono visualizzate ogni volta che un'app ha accesso continuo al microfono, alla fotocamera o alla posizione sensibili dell'utente. Gli utenti possono toccare queste icone e vedere quali app accedono al microfono, alla videocamera, alla posizione o a una combinazione di questi elementi. Ecco un esempio di indicatori in uso:
Figura 1. Indicatori di utilizzo che mostrano l'accesso attivo (angolo in alto a destra).
L'accesso è considerato attivo finché vengono visualizzati gli indicatori. Viene visualizzata un'icona che poi si trasforma in un punto che rimane visibile finché l'app non viene chiusa o ignorata. Quando un utente apre le Impostazioni rapide e tocca gli indicatori, viene visualizzata una finestra di dialogo che mostra se l'app utilizza il microfono, la fotocamera, la posizione o una combinazione di questi elementi.
La Figura 2 mostra gli indicatori di accesso attivo quando è stato eseguito l'accesso ai dati all'interno della finestra temporale attiva da parte di un'app in esecuzione.
Figura 2. Indicatori di accesso attivi e recenti.
Gli indicatori di accesso recente mostrano che un'app ha avuto accesso ai dati nei 15 secondi precedenti (o 20 secondi per i dati sulla posizione), ma che l'app non è attiva. Nella finestra di dialogo vengono visualizzate tutte le app attive, ma solo una viene mostrata come origine dell'accesso recente, anche quando più di un'app ha eseguito l'accesso ai dati in un periodo di tempo precedente di 15 o 20 secondi. Nella finestra di dialogo vengono visualizzate tutte le app che hanno avuto accesso ai dati sulla posizione all'interno della finestra temporale attiva o recente. La visualizzazione dell'accesso rimane attiva finché l'utente non chiude la finestra di dialogo di notifica.
Fornire e attivare
La classe PermissionManager fornisce un metodo per compilare la finestra di dialogo (che
si trova nell'interfaccia utente di sistema). La UI di sistema reagisce all'opzione di configurazione del dispositivo privacy/mic_camera_indicators_enabled; questa opzione è necessaria perché esistono due veicoli di distribuzione separati: (1) Distribuisci, poi (2) Attiva.
Flusso di processo
La funzionalità Indicatore autorizzazione è composta da tre parti principali:
- Le app
- Gli indicatori (gestiti dalla UI di sistema)
- Un modo per determinare quali app utilizzano i dati
PermissionController fornisce il meccanismo per determinare quali app utilizzano i dati. La UI di sistema è in ascolto delle app che utilizzano dati privati. La UI di sistema
mostra un'icona nella barra di navigazione in alto che corrisponde alle autorizzazioni
utilizzate. PermissionController mostra i dati sull'utilizzo quando un utente fa clic su un'icona.
Figura 3. Componenti di sistema e flusso di transizioni (UI).
1 Un'app richiede dati privati al sistema.
2 Il sistema controlla le autorizzazioni. Se le autorizzazioni sono consentite, il sistema invia una notifica al fornitore di dati e registra l'utilizzo in app ops.
3 Il fornitore di dati fornisce i dati all'app.
4-5 L'utente fa clic sulle icone. L'UI di sistema richiede i dati a
PermissionManagere mostra la finestra di dialogo all'utente.
Dettagli della procedura
App ops registra gli accessi alle API protette dalle autorizzazioni di runtime, monitorando lo stato di attività e il numero di singole chiamate API e interagendo con la fotocamera, il microfono e gli indicatori per mostrare agli utenti quando le app hanno avuto accesso ai dati audio e della fotocamera sui loro dispositivi.
Le app utilizzano il microfono, la fotocamera o la posizione chiamando
AppOpsManager.startOp,stopOponoteOp. In questo modo vengono creati record di operazioni app nel server di sistema. In Android 17 e versioni successive, l'indicatore di posizione utilizza anche questi record di operazioni delle app.La UI di sistema rileva le nuove operazioni app utilizzando i listener
AppOpsManager.OnOpActiveChangedInternalListenereOnOpNotedListener. Quando viene registrato un nuovo utilizzo (tramite una chiamata astartOponoteOp), la UI di sistema verifica che l'utilizzo sia da parte di un'app di sistema:Se la UI di sistema verifica l'utilizzo delle app di sistema e se l'utilizzo riguarda il microfono, la UI di sistema controlla se il microfono è disattivato.
Se la UI di sistema verifica l'utilizzo di app non di sistema (e, per l'utilizzo del microfono, che il microfono non sia disattivato; per l'utilizzo della fotocamera, che la fotocamera sia attivata), mostra un'icona che riflette tale utilizzo.
Se la UI di sistema verifica l'utilizzo di app non di sistema, mostra un'icona che riflette tale utilizzo, a condizione che i pulsanti di attivazione/disattivazione pertinenti siano attivi:
- Per il microfono: il microfono è riattivato.
- Per la videocamera: l'opzione è attivata.
- Per la posizione: l'app è in esecuzione in primo piano.
Se l'UI di sistema riceve un noteOp senza durata, mostra l'icona
per almeno 5 secondi (10 secondi per la posizione). In caso contrario, l'icona viene visualizzata
fino a quando non riceve stopOp o per la durata minima di 5 o 10
secondi, a seconda di quale sia più lunga. Quando l'utente fa clic su un'icona, viene avviato un intent che
va a PermissionController per avviare la finestra di dialogo.
PermissionController carica tutti gli utilizzi recenti di microfono, fotocamera e
posizione. Controlla se uno di questi è in esecuzione o è stato in esecuzione entro
il periodo di tempo impostato dall'interfaccia utente di sistema (15 secondi per il microfono o la fotocamera, 20 secondi
per la posizione). Se trova una corrispondenza, mostra il nome dell'app e le
autorizzazioni utilizzate.
La telefonia deve implementare l'utilizzo delle autorizzazioni (per tenere conto dello stack del microfono separato utilizzato nelle chiamate), mentre funziona con l'app Ricerca Google (AGSA) e GMS per Android.