Le autorizzazioni relative alla posizione, al microfono e alla fotocamera concedono alla tua app l'accesso a informazioni particolarmente sensibili sugli utenti. La piattaforma include diversi meccanismi, descritti in questa pagina, per aiutare gli utenti a rimanere informati e controllo su quali app possono accedere a posizione, microfono e fotocamera.
Queste funzionalità di sistema incentrate sulla tutela della privacy non dovrebbero influire sul modo in cui l'app gestisce le autorizzazioni relative alla posizione, al microfono e alla fotocamera, purché seguire le best practice relative alla privacy.
In particolare, assicurati di svolgere le seguenti operazioni nell'app:
- Attendi l'accesso alla fotocamera del dispositivo finché l'utente non ha concesso l'accesso alla
CAMERA
. autorizzazione per la tua app. - Attendi di accedere al microfono del dispositivo finché l'utente non avrà concesso l'autorizzazione
RECORD_AUDIO
alla tua app. - Attendere che l'utente interagisca con una funzionalità dell'app che richiede
posizione prima di richiedere
ACCESS_COARSE_LOCATION
autorizzazione oACCESS_FINE_LOCATION
come descritto nella guida su come richiedere la posizione autorizzazioni. - Attendi finché l'utente non concede alla tua app l'elemento
ACCESS_COARSE_LOCATION
o l'autorizzazioneACCESS_FINE_LOCATION
prima di richiedere ilACCESS_BACKGROUND_LOCATION
: autorizzazione.
Dashboard della privacy
Sui dispositivi supportati con Android 12 o versioni successive, è prevista La schermata della dashboard viene visualizzata nelle impostazioni di sistema. In questa schermata gli utenti possono accedere schermate separate che mostrano quando le app accedono a posizione, fotocamera e microfono informazioni. Ogni schermata mostra una cronologia dei momenti in cui diverse app hanno avuto accesso a un determinato tipo di dati. La figura 1 mostra la cronologia di accesso ai dati per la posizione informazioni.
Mostra la motivazione dell'accesso ai dati
La tua app può fornire agli utenti una motivazione per aiutarli a capire perché. accede a informazioni su posizione, fotocamera o microfono. Questa motivazione può emergere nella nuova schermata della dashboard della privacy e/o nella schermata delle autorizzazioni della tua app.
Per spiegare perché l'app accede a informazioni su posizione, fotocamera e microfono: completa i seguenti passaggi:
Aggiungi un'attività che, quando è stata avviata, fornisca una motivazione per cui la tua app esegue un particolare tipo di azione di accesso ai dati. In questa attività, imposta Attributo
android:permission
aSTART_VIEW_PERMISSION_USAGE
.Se la tua app ha come target Android 12 o versioni successive, devi esplicitamente definisci un valore per
android:exported
.Aggiungi il seguente filtro per intent all'attività appena aggiunta:
<!-- android:exported required if you target Android 12. --> <activity android:name=".DataAccessRationaleActivity" android:permission="android.permission.START_VIEW_PERMISSION_USAGE" android:exported="true"> <!-- VIEW_PERMISSION_USAGE shows a selectable information icon on your app permission's page in system settings. VIEW_PERMISSION_USAGE_FOR_PERIOD shows a selectable information icon on the Privacy Dashboard screen. --> <intent-filter> <action android:name="android.intent.action.VIEW_PERMISSION_USAGE" /> <action android:name="android.intent.action.VIEW_PERMISSION_USAGE_FOR_PERIOD" /> <category android:name="android.intent.category.DEFAULT" /> ... </intent-filter> </activity>
Decidi cosa deve essere mostrato nell'attività relativa alla motivazione dell'accesso ai dati. Ad esempio, potrebbe mostrare il sito web della tua app o un articolo del Centro assistenza. Per offrire un'esperienza una spiegazione dettagliata sui tipi di dati a cui accede l'app, nonché quando si è verificato l'accesso, gestisci gli extra inclusi dal sistema richiama l'intento di utilizzo delle autorizzazioni:
- Se il sistema richiama
ACTION_VIEW_PERMISSION_USAGE
, la tua app può recupera un valore perEXTRA_PERMISSION_GROUP_NAME
- Se il sistema richiama
ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD
, la tua app può recuperare valori perEXTRA_PERMISSION_GROUP_NAME
,EXTRA_ATTRIBUTION_TAGS
,EXTRA_START_TIME
, eEXTRA_END_TIME
.
- Se il sistema richiama
A seconda dei filtri per intent aggiunti, gli utenti vedono un'icona delle informazioni accanto al nome dell'app in alcune schermate:
- Se aggiungi il filtro per intent che contiene
VIEW_PERMISSION_USAGE
gli utenti vedranno l'icona nella pagina delle autorizzazioni dell'app nelle impostazioni di sistema. Tu può applicare questa azione a tutte le autorizzazioni di runtime. - Se aggiungi il filtro per intent che contiene
VIEW_PERMISSION_USAGE_FOR_PERIOD
, gli utenti vedono l'icona accanto al tuo nome dell'app ogni volta che l'app viene visualizzata nella schermata Dashboard della privacy.
Quando gli utenti selezionano l'icona, viene avviata l'attività di motivazione della tua app.
Indicatori
Sui dispositivi con Android 12 o versioni successive, quando un'app accede sul microfono o sulla fotocamera, nella barra di stato viene visualizzata un'icona. Se l'app è in modalità immersiva, l'icona appare in nell'angolo in alto a destra dello schermo. Gli utenti possono aprire le Impostazioni rapide e selezionare l'icona per visualizzare le app che stanno usando il microfono o la fotocamera. La Figura 2 mostra uno screenshot di esempio che contiene le icone.
Identificare la posizione degli indicatori sullo schermo
Se l'app supporta la modalità immersiva o l'UI a schermo intero, gli indicatori potrebbero
si sovrappongono temporaneamente all'interfaccia utente dell'app. Per aiutarti ad adattare l'interfaccia utente a questi indicatori, il sistema introduce il metodo getPrivacyIndicatorBounds()
, mostrato nel seguente snippet di codice. Con questa API puoi identificare i limiti in cui potrebbero apparire gli indicatori. Puoi quindi decidere di
organizzare l'UI dello schermo in modo diverso.
Kotlin
view.setOnApplyWindowInsetsListener { view, windowInsets -> val indicatorBounds = windowInsets.getPrivacyIndicatorBounds() // change your UI to avoid overlapping windowInsets }
Pulsanti di attivazione/disattivazione
Sui dispositivi supportati che eseguono Android 12 o versioni successive, gli utenti possono attivare e disattivare la videocamera e Accesso al microfono per tutte le app sul dispositivo premendo un singolo pulsante di attivazione/disattivazione . Gli utenti possono accedere alle opzioni attivabili dalla sezione Impostazioni, come mostrato in figura 3 o dalla schermata Privacy nelle impostazioni di sistema.
Le opzioni di attivazione/disattivazione della fotocamera e del microfono hanno effetto su tutte le app sul dispositivo:
- Quando l'utente disattiva l'accesso alla videocamera, la tua app riceve un feed videocamera vuoto.
Quando l'utente disattiva l'accesso al microfono, l'app riceve l'audio silenzioso. Inoltre, i sensori di movimento sono soggetti a un limite di frequenza, indipendentemente dal fatto che tu dichiari o meno l'autorizzazione
HIGH_SAMPLING_RATE_SENSORS
.
Quando l'utente disattiva l'accesso alla fotocamera o al microfono: avvia un'app che richiede l'accesso alle informazioni della fotocamera o del microfono, ricorda all'utente che l'opzione di attivazione/disattivazione a livello di dispositivo è disattivata.
Controlla il supporto dei dispositivi
Per verificare se un dispositivo supporta l'attivazione/disattivazione di microfono e fotocamera, aggiungi la logica visualizzato nel seguente snippet di codice:
Kotlin
val sensorPrivacyManager = applicationContext .getSystemService(SensorPrivacyManager::class.java) as SensorPrivacyManager val supportsMicrophoneToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.MICROPHONE) val supportsCameraToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.CAMERA)
Java
SensorPrivacyManager sensorPrivacyManager = getApplicationContext() .getSystemService(SensorPrivacyManager.class); boolean supportsMicrophoneToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.MICROPHONE); boolean supportsCameraToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.CAMERA);