Limiti per intent a schermo intero

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:

fsi-ui

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:

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