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:
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:
- Declara
USE_FULL_SCREEN_INTENT
en el archivoAndroidManifest.xml
de tu app. - Usa
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
. para administrar la configuración y activar o desactivar el FSI. - 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.
- Enviar una notificación del FSI
- 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 |