Límites de intent de pantalla completa

Para prevenir el spam de anuncios y el phishing de credenciales, a partir de Android 14, el permiso predeterminado de USE_FULL_SCREEN_INTENT para enviar las notificaciones de pantalla completa podrá otorgarse solo a las apps que brinden funciones de llamadas y alarmas.

Para todas las apps 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 intent de pantalla completa (FSI) para las apps que no tienen funciones de llamadas o alarmas.

En el caso de las apps instaladas en teléfonos con versiones de Android 13 o anteriores, el permiso USE_FULL_SCREEN_INTENT permanece habilitado de forma predeterminada.

Permiso del usuario

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

fsi-ui

Figura 1: Es la IU para habilitar que las apps envíen intents de pantalla completa.

El parámetro de configuración Administrar intents de pantalla completa se encuentra en el menú Configuración, en Acceso especial de apps. Con esta IU, los usuarios pueden revocar este permiso si es necesario.

Requisitos del OEM

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

Validación

Usa la prueba del verificador de CTS en NotificationFullScreenIntentVerifierActivity.java y la prueba de CTS en NotificationManagerTest.java para validar los límites de FSI.

Pruebas manuales

Sigue estos pasos para probar manualmente los límites de FSI en tu app:

  1. Declara USE_FULL_SCREEN_INTENT en el archivo AndroidManifest.xml de tu app.
  2. Usa ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT para administrar la configuración y activar o desactivar la FSI.
  3. En tu teléfono de prueba, activa manualmente el permiso del usuario para las notificaciones de pantalla completa, como se muestra en la Figura 1.
  4. Envía una notificación de FSI.
  5. Valida la apariencia de la notificación de pantalla completa para las siguientes combinaciones de permiso de FSI y modos de visualización:
Permiso de FSI Pantalla desbloqueada Pantalla bloqueada Fuera de la pantalla Pantalla siempre activa (PSA)
Otorgado por el usuario Notificación emergente (HUN) persistente con botones de píldoras Cómo iniciar la FSI Cómo iniciar la FSI Cómo iniciar la FSI
El usuario rechazó la solicitud HUN con botones de píldoras para 60 s La HUN con botones de píldora aparece primero en la lista durante 60 s. La pantalla AOD se activa y muestra la HUN con botones de píldora durante 60 s. HUN con botones de píldoras para 60 s