Per impedire il phishing di credenziali e lo spam pubblicitario, a partire da Android 14,
l'autorizzazione USE_FULL_SCREEN_INTENT
predefinita per inviare notifiche a schermo intero può essere concessa solo alle app che
forniscono funzionalità di chiamata e sveglia.
Per tutte le app installate su Android 14, l'autorizzazione
USE_FULL_SCREEN_INTENT
è attivata per impostazione predefinita. Al momento dell'installazione, il Google Play Store
revoca l'autorizzazione per intent a schermo intero (FSI) per le app che non dispongono
di funzionalità di chiamata o sveglia.
Per le app installate su smartphone con versioni
Android 13 o precedenti, l'autorizzazione
USE_FULL_SCREEN_INTENT
rimane abilitata per impostazione predefinita.
Autorizzazione dell'utente
Con Android 14, le app possono utilizzare NotificationManager#canUseFullScreenIntent()
per verificare se possono inviare notifiche a schermo intero. Per ottenere l'autorizzazione dell'utente a inviare notifiche a schermo intero, le app utilizzano ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
per avviare l'impostazione Gestisci intent a schermo intero, come mostrato nella Figura 1:
Figura 1. Interfaccia utente per consentire alle app di inviare intent a schermo intero.
L'impostazione Gestisci intent a schermo intero si trova nel menu Impostazioni in Accesso alle app speciale. Con questa UI, gli utenti possono revocare questa autorizzazione, se necessario.
Requisiti OEM
In Android 14, le autorizzazioni FSI per le app sono attive per impostazione
predefinita. Gli OEM devono specificare le app che soddisfano i requisiti per le autorizzazioni FSI. Gli OEM devono
assicurarsi che gli store di terze parti impostino gli stati di concessione iniziali delle autorizzazioni FSI
per le loro app utilizzando
PackageInstaller.SessionParams
,
in particolare con i parametri PERMISSION_STATE_DEFAULT
, PERMISSION_STATE_DENIED
e PERMISSION_STATE_GRANTED
.
Convalida
Utilizza il test CTS Verifier in NotificationFullScreenIntentVerifierActivity.java
e il test CTS in NotificationManagerTest.java
per convalidare i limiti FSI.
Test manuali
Per testare manualmente i limiti FSI sulla tua app:
- Dichiara
USE_FULL_SCREEN_INTENT
nel fileAndroidManifest.xml
della tua app. - Utilizza
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
per gestire le impostazioni per attivare o disattivare FSI. - Sul tuo smartphone di test, attiva/disattiva manualmente l'autorizzazione utente per le notifiche a schermo intero, come mostrato nella Figura 1.
- Inviare una notifica FSI.
- Verifica l'aspetto della notifica a schermo intero per le seguenti combinazioni di autorizzazione per intent a schermo intero e modalità di visualizzazione:
Autorizzazione FSI | Schermo sbloccato | Schermo bloccato | Fuori schermo | Display sempre attivo (AOD) |
Concesso dall'utente | Notifica in evidenza persistente con pulsanti a pillola | Avvia FSI | Avvia FSI | Avvia FSI |
Rifiutato dall'utente | HUN con pulsanti a pillola per 60 secondi | L'HUN con pulsanti a pillola viene visualizzato per primo nell'elenco per 60 secondi | La modalità AOD si attiva e mostra HUN con pulsanti a pillola per 60 secondi | HUN con pulsanti a pillola per 60 secondi |