Sous Android 14 et versions ultérieures, pour éviter le spam publicitaire et l'hameçonnage des identifiants,
l'autorisation USE_FULL_SCREEN_INTENT
par défaut permettant d'envoyer des notifications en plein écran ne peut être accordée qu'aux applications qui
fournissent des fonctionnalités d'appel et d'alarme.
Pour toutes les applications installées sur Android 14, l'
USE_FULL_SCREEN_INTENT
autorisation est activée par défaut. Lors de l'installation, le Google Play Store révoque l'autorisation d'intent plein écran pour les applications qui ne disposent pas de fonctionnalités d'appel ou d'alarme.
Pour les applications installées sur des téléphones exécutant des versions
Android 13 ou une version antérieure, l'
USE_FULL_SCREEN_INTENT
autorisation reste activée par défaut.
Autorisation de l'utilisateur
Avec Android 14, les applications peuvent utiliser NotificationManager#canUseFullScreenIntent()
pour vérifier si elles peuvent envoyer des notifications en plein écran. Pour obtenir l'autorisation de l'utilisateur d'envoyer des notifications en plein écran, les applications utilisent ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
pour lancer le paramètre Gérer les intents plein écran , comme illustré dans la figure 1 :
Figure 1. Interface utilisateur permettant aux applications d'envoyer des intents plein écran.
Le paramètre Gérer les intents plein écran se trouve dans le menu Paramètres , sous Accès spécial des applications. Grâce à cette interface utilisateur, les utilisateurs peuvent révoquer cette autorisation si nécessaire.
Exigences des OEM
Dans Android 14, les autorisations d'intent plein écran pour les applications sont activées par défaut. Les OEM doivent spécifier les applications qui sont éligibles aux autorisations d'intent plein écran. Les OEM doivent
s'assurer que les magasins d'applications tiers définissent les états d'autorisation initiaux des autorisations d'intent plein écran
pour leurs applications à l'aide de
PackageInstaller.SessionParams,
en particulier avec les PERMISSION_STATE_DEFAULT, PERMISSION_STATE_DENIED et PERMISSION_STATE_GRANTED
paramètres.
Validation
Utilisez le test CTS Verifier dans NotificationFullScreenIntentVerifierActivity.java,
et le test CTS dans NotificationManagerTest.java
pour valider les limites d'intent plein écran.
Tests manuels
Procédez comme suit pour tester manuellement les limites d'intent plein écran sur votre application :
- Déclarez
USE_FULL_SCREEN_INTENTdans le fichierAndroidManifest.xmlde votre application. - Utilisez
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENTpour gérer les paramètres afin d'activer ou de désactiver l'intent plein écran. - Sur votre téléphone de test, activez ou désactivez manuellement l'autorisation utilisateur pour les notifications en plein écran, comme illustré dans la figure 1.
- Envoyez une notification d'intent plein écran.
- Validez l'apparence de la notification en plein écran pour les combinaisons suivantes d'autorisation d'intent plein écran et de modes d'affichage :
| Autorisation d'intent plein écran | Écran déverrouillé | Écran verrouillé | Écran désactivé | Mode Always-on (AOD) |
| Accordée par l'utilisateur | Notification prioritaire persistante avec boutons en forme de pilule | Lancer l'intent plein écran | Lancer l'intent plein écran | Lancer l'intent plein écran |
| Refusée par l'utilisateur | Notification prioritaire avec boutons en forme de pilule pendant 60 secondes | La notification prioritaire avec boutons en forme de pilule s'affiche en premier dans la liste pendant 60 secondes | Le mode Always-on s'active et affiche la notification prioritaire avec boutons en forme de pilule pendant 60 secondes | Notification prioritaire avec boutons en forme de pilule pendant 60 secondes |