Pour éviter le spam publicitaire et l'hameçonnage des identifiants, à partir d'Android 14, l'autorisation par défaut USE_FULL_SCREEN_INTENT
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'autorisation USE_FULL_SCREEN_INTENT
est activée par défaut. Lors de l'installation, le Google Play Store révoque l'autorisation d'intent plein écran (FSI) 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 Android 13 ou version antérieure, l'autorisation USE_FULL_SCREEN_INTENT
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 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
afin de lancer le paramètre Gérer les intents plein écran, comme illustré dans la figure 1:
Figure 1 : UI permettant d'autoriser les applications à envoyer des intents en plein écran.
Le paramètre Gérer les intents en plein écran se trouve dans le menu Paramètres sous Accès spécifiques des applications. Avec cette interface utilisateur, les utilisateurs peuvent révoquer cette autorisation si nécessaire.
Exigences OEM
Dans Android 14, les autorisations FSI pour les applications sont activées par défaut. Les OEM doivent spécifier les applications éligibles aux autorisations FSI. Les OEM doivent s'assurer que les plates-formes de téléchargement d'applications tierces définissent les états d'octroi initiaux des autorisations FSI pour leurs applications à l'aide de PackageInstaller.SessionParams
, en particulier avec les paramètres PERMISSION_STATE_DEFAULT
, PERMISSION_STATE_DENIED
et PERMISSION_STATE_GRANTED
.
Validation
Utilisez le test du vérificateur CTS dans NotificationFullScreenIntentVerifierActivity.java
et le test CTS dans NotificationManagerTest.java
pour valider les limites de FSI.
Tests manuels
Pour tester manuellement les limites de FSI dans votre application, procédez comme suit:
- Déclarez
USE_FULL_SCREEN_INTENT
dans le fichierAndroidManifest.xml
de votre application. - Utilisez
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
pour gérer les paramètres permettant d'activer ou de désactiver les services financiers. - Sur votre téléphone de test, activez ou désactivez manuellement l'autorisation de l'utilisateur pour les notifications en plein écran, comme illustré dans la figure 1.
- Envoyer une notification FSI
- Validez l'apparence de la notification en plein écran pour les combinaisons d'autorisation FSI et de modes d'affichage suivantes:
Autorisation des services financiers | Écran déverrouillé | Écran verrouillé | Écran éteint | Mode Always-on |
Accordé par l'utilisateur | Notification prioritaire persistante (HUN) avec boutons en forme de pilule | Lancer FSI | Lancer FSI | Lancer FSI |
Refusé par l'utilisateur | HUN avec boutons en forme de pilule pendant 60 secondes | HUN avec boutons en forme de pilule apparaît en premier dans la liste pendant 60 secondes | L'AOD s'active et affiche une notification prioritaire avec les boutons de la pilule pendant 60 secondes | Ah, les pilules et les boutons des années 60 |