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:
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:
- 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 telefono di prova, attivare 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 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 |