Limiti per gli intent a schermo intero

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:

fsi-ui

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:

  1. Dichiara USE_FULL_SCREEN_INTENT nel file AndroidManifest.xml della tua app.
  2. Utilizza ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT per gestire le impostazioni per attivare o disattivare FSI.
  3. Sul tuo smartphone di test, attiva/disattiva manualmente l'autorizzazione utente per le notifiche a schermo intero, come mostrato nella Figura 1.
  4. Inviare una notifica FSI.
  5. 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