Pour éviter le spam publicitaire et l'hameçonnage des identifiants, à partir d'Android 14, l'autorisation USE_FULL_SCREEN_INTENT
par défaut d'envoyer des notifications en plein écran ne peut être accordée qu'aux applications qui proposent 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 en 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 Android 13 ou une 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 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é sur la figure 1 :
Figure 1 : Interface utilisateur permettant aux applications d'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écial aux applications. Cette interface utilisateur permet aux utilisateurs de 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 tierces de téléchargement d'applications définissent les états d'autorisation 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 CTS Verifier dans NotificationFullScreenIntentVerifierActivity.java
et le test CTS dans NotificationManagerTest.java
pour valider les limites FSI.
Tests manuels
Pour tester manuellement les limites FSI sur votre application :
- 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 et activer ou désactiver l'FSI. - Sur votre téléphone de test, activez manuellement l'autorisation utilisateur pour les notifications en plein écran, comme illustré sur la figure 1.
- Envoyez une notification FSI.
- Validez l'apparence de la notification en plein écran pour les combinaisons suivantes d'autorisation FSI et de modes d'affichage :
Autorisation FSI | Écran déverrouillé | Écran verrouillé | Hors écran | Mode Always-on (AOD) |
Accordée par l'utilisateur | Notification prioritaire persistante avec boutons en forme de pilule | Lancer FSI | Lancer FSI | Lancer FSI |
Refusé par l'utilisateur | HUN avec boutons en forme de pilule pour 60s | HUN with pill buttons shows up first in the list for 60s | L'AOD s'allume et affiche HUN avec des boutons en forme de pilule pendant 60 secondes. | HUN avec boutons en forme de pilule pour 60s |