To prevent ad spam and credential phishing, starting with Android 14,
the default USE_FULL_SCREEN_INTENT
permission to send full-screen notifications can be granted only to apps that
provide calling and alarm functionalities.
For all apps being installed on Android 14, the
USE_FULL_SCREEN_INTENT
permission is enabled by default. Upon installation, the Google Play Store
revokes the full-screen intent (FSI) permission for apps that do not have
calling or alarm functionalities.
For apps installed on phones running versions
Android 13 or lower, the
USE_FULL_SCREEN_INTENT
permission remains enabled by default.
User permission
With Android 14, apps can use NotificationManager#canUseFullScreenIntent()
to check if they can send full-screen notifications. To get user permission to
send full-screen notifications, apps use ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
to launch the Manage full screen intents setting as shown in Figure 1:
Figure 1. UI for enabling apps to send full-screen intents.
The Manage full screen intents setting is in the Settings menu under Special App Access. With this UI, users can revoke this permission if needed.
OEM requirements
In Android 14, FSI permissions for apps are enabled by
default. OEMs must specify which apps qualify for FSI permissions. OEMs must
ensure that third-party app stores set the initial grant states of FSI
permissions for their apps using
PackageInstaller.SessionParams
,
specifically with the PERMISSION_STATE_DEFAULT
, PERMISSION_STATE_DENIED
, and PERMISSION_STATE_GRANTED
parameters.
Validation
Use the CTS Verifier test in NotificationFullScreenIntentVerifierActivity.java
,
and the CTS test in NotificationManagerTest.java
to validate the FSI limits.
Manual tests
Follow these steps to manually test FSI limits on your app:
- Declare
USE_FULL_SCREEN_INTENT
in your app'sAndroidManifest.xml
file. - Use
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
to manage settings to turn FSI on or off. - On your test phone, manually toggle the user permission for full-screen notifications as shown in Figure 1.
- Send an FSI notification.
- Validate the appearance of the full-screen notification for the following combinations of FSI permission and display modes:
FSI permission | Unlocked screen | Locked screen | Off screen | Always-on display (AOD) |
Granted by user | Persistent heads-up notification (HUN) with pill buttons | Launch FSI | Launch FSI | Launch FSI |
Denied by user | HUN with pill buttons for 60s | HUN with pill buttons shows up first in the list for 60s | AOD turns on, shows HUN with pill buttons for 60s | HUN with pill buttons for 60s |