Per impedire il phishing di credenziali e lo spam pubblicitario, a partire da Android 14,
l'autorizzazione predefinita USE_FULL_SCREEN_INTENT
per l'invio di 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
è attiva per impostazione predefinita. Al momento dell'installazione, 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 di Android 13 o precedenti, l'autorizzazione USE_FULL_SCREEN_INTENT
rimane attiva 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 per
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. UI per consentire alle app di inviare intent a schermo intero.
L'impostazione Gestisci gli intent a schermo intero si trova nel menu Impostazioni, nella sezione Accesso speciale alle app. Con questa interfaccia utente, gli utenti possono revocare questa autorizzazione, se necessario.
Requisiti OEM
In Android 14, le autorizzazioni FSI per le app sono attivate per impostazione predefinita. Gli OEM devono specificare quali app sono idonee per le autorizzazioni FSI. Gli OEM devono assicurarsi che gli store di terze parti configurino 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 verificare manualmente i limiti di FSI nella tua app:
- Dichiara
USE_FULL_SCREEN_INTENT
nel fileAndroidManifest.xml
dell'app. - Utilizza
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
per gestire le impostazioni per attivare o disattivare la funzionalità FSI. - Sullo smartphone di test, attiva/disattiva manualmente l'autorizzazione utente per le notifiche a schermo intero come mostrato nella Figura 1.
- Invia una notifica FSI.
- Convalida l'aspetto della notifica a schermo intero per le seguenti combinazioni di modalità di visualizzazione e autorizzazione FSI:
Autorizzazione per i servizi finanziari | Schermo sbloccato | Schermata bloccata | Fuori schermo | Display sempre attivo (AOD) |
Concesso dall'utente | Notifica in evidenza (HUN) persistente con pulsanti a pillola | Avvia FSI | Avvia FSI | Avvia FSI |
Rifiutato dall'utente | HUN con pulsanti a pillola per 60 secondi | HUN con pulsanti a pillola viene visualizzato per primo nell'elenco per 60 secondi | La modalità AOD si attiva e mostra la schermata Home con i pulsanti a pillola per 60 secondi | HUN con pulsanti a pillola per 60 secondi |