Limites des intents plein écran

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 :

fsi-ui

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 :

  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 et activer ou désactiver l'FSI.
  3. Sur votre téléphone de test, activez manuellement l'autorisation utilisateur pour les notifications en plein écran, comme illustré sur la figure 1.
  4. Envoyez une notification FSI.
  5. 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