Límites de intención de pantalla completa

Para evitar el spam publicitario y el phishing de credenciales, a partir de Android 14, el permiso USE_FULL_SCREEN_INTENT predeterminado para enviar notificaciones en pantalla completa solo se puede otorgar a aplicaciones que brindan funciones de llamadas y alarmas.

Para todas las aplicaciones que se instalan en Android 14, el permiso USE_FULL_SCREEN_INTENT está habilitado de forma predeterminada. Tras la instalación, Google Play Store revoca el permiso de intención de pantalla completa (FSI) para aplicaciones que no tienen funciones de llamada o alarma.

Para las aplicaciones instaladas en teléfonos con versiones inferiores a Android 13, el permiso USE_FULL_SCREEN_INTENT permanece habilitado de forma predeterminada.

Permiso de usuario

Con Android 14, las aplicaciones pueden usar NotificationManager#canUseFullScreenIntent() para comprobar si pueden enviar notificaciones en pantalla completa. Para obtener permiso del usuario para enviar notificaciones en pantalla completa, las aplicaciones usan ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT para iniciar la configuración Administrar intenciones de pantalla completa , como se muestra en la Figura 1:

fsi-ui

Figura 1. UI para permitir que las aplicaciones envíen intents en pantalla completa.

La configuración Administrar intenciones de pantalla completa se encuentra en el menú Configuración en Acceso especial a aplicaciones . Con esta interfaz de usuario, los usuarios pueden revocar este permiso si es necesario.

Requisitos OEM

En Android 14, los permisos FSI para aplicaciones están habilitados de forma predeterminada. Los OEM deben especificar qué aplicaciones califican para permisos FSI. Los OEM deben asegurarse de que las tiendas de aplicaciones de terceros establezcan los estados de concesión iniciales de los permisos FSI para sus aplicaciones mediante PackageInstaller.SessionParams , específicamente con los parámetros PERMISSION_STATE_DEFAULT , PERMISSION_STATE_DENIED y PERMISSION_STATE_GRANTED .

Validación

Utilice la prueba CTS Verifier en NotificationFullScreenIntentVerifierActivity.java y la prueba CTS en NotificationManagerTest.java para validar los límites de FSI.

Pruebas manuales

Siga estos pasos para probar manualmente los límites de FSI en su aplicación:

  1. Declare USE_FULL_SCREEN_INTENT en el archivo AndroidManifest.xml de su aplicación.
  2. Utilice ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT para administrar la configuración para activar o desactivar FSI.
  3. En su teléfono de prueba, cambie manualmente el permiso de usuario para notificaciones de pantalla completa como se muestra en la Figura 1.
  4. Envíe una notificación FSI.
  5. Valide la apariencia de la notificación de pantalla completa para las siguientes combinaciones de permisos FSI y modos de visualización:
permiso FSI Pantalla desbloqueada Pantalla bloqueada Fuera de pantalla Pantalla siempre encendida (AOD)
Concedido por el usuario Notificación de aviso persistente (HUN) con botones de píldora Lanzar FSI Lanzar FSI Lanzar FSI
Rechazado por el usuario HUN con botones de pastillas para los años 60 HUN con botones de pastillas aparece primero en la lista de los 60 AOD se enciende y muestra HUN con botones de pastillas para los años 60 HUN con botones de pastillas para los años 60