Límites de intent de pantalla completa

Para evitar el spam de anuncios y el phishing de credenciales, a partir de Android 14, el USE_FULL_SCREEN_INTENT predeterminado el permiso para enviar notificaciones de pantalla completa solo se puede otorgar a las apps que funciones de llamadas y alarma.

Para todas las apps que se instalan en Android 14, la USE_FULL_SCREEN_INTENT el permiso está habilitado de forma predeterminada. Después de la instalación, Google Play Store revoca el permiso de intent de pantalla completa (FSI) para apps que no tienen funciones de llamadas o alarma.

En el caso de las apps instaladas en teléfonos con versiones anteriores a Android 13, haz lo siguiente: el USE_FULL_SCREEN_INTENT el permiso permanezca habilitado de forma predeterminada.

Permiso del usuario

Con Android 14, las apps pueden usar NotificationManager#canUseFullScreenIntent() para comprobar si puede enviar notificaciones de pantalla completa. Para obtener 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: IU para permitir que las apps envíen intents de pantalla completa.

La opción Administrar intents de pantalla completa se encuentra en el menú Configuración. Acceso especial de Apps. Con esta IU, los usuarios pueden revocar este permiso si es necesario.

Requisitos de OEM

En Android 14, los permisos de FSI para las apps se habilitan por de forma predeterminada. Los OEM deben especificar qué apps califican para los permisos de FSI. Los OEMs deben asegurarse de que las tiendas de aplicaciones de terceros establezcan los estados de otorgamiento inicial de FSI permisos para sus apps que usan PackageInstaller.SessionParams, específicamente con PERMISSION_STATE_DEFAULT, PERMISSION_STATE_DENIED y PERMISSION_STATE_GRANTED parámetros.

Validación

Usar la prueba del verificador del CTS en NotificationFullScreenIntentVerifierActivity.java y la prueba del 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 el FSI.
  3. En el teléfono de prueba, activa de forma manual el permiso del usuario para el modo de pantalla completa notificaciones, como se muestra en la Figura 1.
  4. Enviar una notificación del FSI
  5. Valida la apariencia de la notificación de pantalla completa para lo siguiente combinaciones de permisos de FSI y modos de visualización:
Permiso de FSI Pantalla desbloqueada Pantalla bloqueada Fuera de la pantalla Pantalla siempre activa (AOD)
Otorgado por el usuario Notificación de atención persistente (HUN) con botones de píldora Iniciar FSI Iniciar FSI Iniciar FSI
Rechazado por el usuario HUN con botones de pastillas para los años 60 La HUN con botones de píldora aparece primero en la lista para los años 60. Se activa la AOD y muestra una HUN con botones de píldora durante 60 s HUN con botones de pastillas para los años 60