Limites d'intention plein écran

Pour éviter le spam publicitaire et le phishing d'informations d'identification, à partir d'Android 14, l'autorisation par défaut USE_FULL_SCREEN_INTENT pour 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'intention plein écran (FSI) pour les applications qui ne disposent pas de fonctionnalités d'appel ou d'alarme.

Pour les applications installées sur les téléphones exécutant des versions inférieures à Android 13, 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 intentions en plein écran, comme illustré dans la figure 1 :

fsi-ui

Figure 1. Interface utilisateur permettant aux applications d'envoyer des intentions en plein écran.

Le paramètre Gérer les intentions en plein écran se trouve dans le menu Paramètres sous Accès spécial aux 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 quelles applications sont éligibles aux autorisations FSI. Les OEM doivent s'assurer que les magasins d'applications tiers 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 CTS Verifier dans NotificationFullScreenIntentVerifierActivity.java et le test CTS dans NotificationManagerTest.java pour valider les limites FSI.

Tests manuels

Suivez ces étapes pour tester manuellement les limites FSI sur votre application :

  1. Déclarez USE_FULL_SCREEN_INTENT dans le fichier AndroidManifest.xml de votre application.
  2. Utilisez ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT pour gérer les paramètres permettant d'activer ou de désactiver FSI.
  3. Sur votre téléphone de test, activez manuellement l'autorisation de l'utilisateur pour les notifications en plein écran, comme indiqué dans la figure 1.
  4. Envoyez une notification FSI.
  5. Validez l'apparence de la notification en plein écran pour les combinaisons suivantes d'autorisations FSI et de modes d'affichage :
Autorisation FSI Écran déverrouillé Écran verrouillé Hors écran Affichage permanent (AOD)
Accordé par l'utilisateur Notification tête haute persistante (HUN) avec boutons de pilule Lancement du FSI Lancement du FSI Lancement du FSI
Refusé par l'utilisateur HUN avec des boutons de pilule pendant les années 60 HUN avec des boutons de pilule apparaît en premier dans la liste pendant les années 60 AOD s'allume, montre HUN avec des boutons de pilule pendant 60 s HUN avec des boutons de pilule pendant les années 60