Limiti dell'intento a schermo intero

Per prevenire lo spam pubblicitario e il phishing delle credenziali, 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 è abilitata per impostazione predefinita. Al momento dell'installazione, Google Play Store revoca l'autorizzazione all'intento a schermo intero (FSI) per le app che non dispongono di funzionalità di chiamata o di allarme.

Per le app installate su telefoni con versioni precedenti ad Android 13, 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 per inviare notifiche a schermo intero, le app utilizzano ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT per avviare l'impostazione Gestisci intenti a schermo intero come mostrato nella Figura 1:

fsi-ui

Figura 1. Interfaccia utente per abilitare le app a inviare intent a schermo intero.

L'impostazione Gestisci intenti a schermo intero si trova nel menu Impostazioni in Accesso speciale alle app . Con questa interfaccia utente, gli utenti possono revocare questa autorizzazione, se necessario.

Requisiti dell'OEM

In Android 14, le autorizzazioni FSI per le app sono abilitate per impostazione predefinita. Gli OEM devono specificare quali app sono idonee per le autorizzazioni FSI. Gli OEM devono garantire che gli app store di terze parti impostino gli stati di concessione iniziali delle autorizzazioni FSI per le proprie app utilizzando PackageInstaller.SessionParams , in particolare con i parametri PERMISSION_STATE_DEFAULT , PERMISSION_STATE_DENIED e PERMISSION_STATE_GRANTED .

Validazione

Utilizza il test CTS Verifier in NotificationFullScreenIntentVerifierActivity.java e il test CTS in NotificationManagerTest.java per convalidare i limiti FSI.

Prove manuali

Segui questi passaggi 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 telefono di prova, attivare 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 autorizzazione FSI e modalità di visualizzazione:
Autorizzazione FSI Schermo sbloccato Schermata bloccata Fuori dallo schermo Display sempre attivo (AOD)
Concesso dall'utente Notifica heads-up persistente (HUN) con pulsanti pillola Avvia FSI Avvia FSI Avvia FSI
Negato dall'utente HUN con bottoni a pillola per anni '60 HUN con i pulsanti pillola appare per primo nell'elenco degli anni '60 AOD si accende, mostra HUN con i pulsanti della pillola per gli anni '60 HUN con bottoni a pillola per anni '60