Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Batas intent layar penuh
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Untuk mencegah spam iklan dan phishing kredensial, mulai Android 14,
izin USE_FULL_SCREEN_INTENT
default untuk mengirim notifikasi layar penuh hanya dapat diberikan ke aplikasi yang
menyediakan fungsi panggilan dan alarm.
Untuk semua aplikasi yang diinstal di Android 14, izin
USE_FULL_SCREEN_INTENT
diaktifkan secara default. Setelah penginstalan, Google Play Store
akan mencabut izin intent layar penuh (FSI) untuk aplikasi yang tidak memiliki
fungsi panggilan atau alarm.
Untuk aplikasi yang diinstal di ponsel yang menjalankan versi
Android 13 atau yang lebih lama, izin
USE_FULL_SCREEN_INTENT
tetap diaktifkan secara default.
Izin pengguna
Dengan Android 14, aplikasi dapat menggunakan NotificationManager#canUseFullScreenIntent()
untuk memeriksa apakah aplikasi dapat mengirim notifikasi layar penuh. Untuk mendapatkan izin pengguna agar
dapat mengirim notifikasi layar penuh, aplikasi menggunakan ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
untuk meluncurkan setelan Kelola intent layar penuh seperti yang ditunjukkan pada Gambar 1:
Gambar 1. UI untuk mengaktifkan aplikasi mengirim intent layar penuh.
Setelan Kelola intent layar penuh ada di menu Setelan di bagian
Akses Aplikasi Khusus. Dengan UI ini, pengguna dapat mencabut izin ini jika diperlukan.
Persyaratan OEM
Di Android 14, izin FSI untuk aplikasi diaktifkan secara
default. OEM harus menentukan aplikasi mana yang memenuhi syarat untuk izin FSI. OEM harus
memastikan bahwa app store pihak ketiga menetapkan status pemberian awal izin
FSI untuk aplikasi mereka menggunakan
PackageInstaller.SessionParams
,
khususnya dengan parameter PERMISSION_STATE_DEFAULT
, PERMISSION_STATE_DENIED
, dan PERMISSION_STATE_GRANTED
.
Validasi
Gunakan pengujian CTS Verifier di NotificationFullScreenIntentVerifierActivity.java
,
dan pengujian CTS di NotificationManagerTest.java
untuk memvalidasi batas FSI.
Pengujian manual
Ikuti langkah-langkah berikut untuk menguji batas FSI secara manual di aplikasi Anda:
- Deklarasikan
USE_FULL_SCREEN_INTENT
di file AndroidManifest.xml
aplikasi Anda.
- Gunakan
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
untuk mengelola setelan guna mengaktifkan atau menonaktifkan FSI.
- Di ponsel pengujian, alihkan izin pengguna untuk notifikasi
layar penuh secara manual seperti yang ditunjukkan pada Gambar 1.
- Mengirim notifikasi FSI.
- Validasi tampilan notifikasi layar penuh untuk kombinasi
izin FSI dan mode tampilan berikut:
Izin FSI
|
Layar tidak terkunci
|
Layar terkunci
|
Off screen
|
Layar always-on (AOD)
|
Diberikan oleh pengguna
|
Notifikasi peringatan dini (HUN) yang persisten dengan tombol pil
|
Meluncurkan FSI
|
Meluncurkan FSI
|
Meluncurkan FSI
|
Ditolak oleh pengguna
|
HUN dengan tombol pil selama 60 detik
|
HUN dengan tombol pil muncul pertama kali dalam daftar selama 60 detik
|
AOD aktif, menampilkan HUN dengan tombol pil selama 60 detik
|
HUN dengan tombol pil selama 60 detik
|
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# Full-screen intent limits\n\nTo prevent ad spam and credential phishing, starting with Android 14,\nthe default [`USE_FULL_SCREEN_INTENT`](https://developer.android.com/reference/android/Manifest.permission#USE_FULL_SCREEN_INTENT)\npermission to send full-screen notifications can be granted only to apps that\nprovide calling and alarm functionalities.\n\nFor all apps being installed on Android 14, the\n[`USE_FULL_SCREEN_INTENT`](https://developer.android.com/reference/android/Manifest.permission#USE_FULL_SCREEN_INTENT)\npermission is enabled by default. Upon installation, the Google Play Store\nrevokes the full-screen intent (FSI) permission for apps that do not have\ncalling or alarm functionalities.\n\nFor apps installed on phones running versions\nAndroid 13 or lower, the\n[`USE_FULL_SCREEN_INTENT`](https://developer.android.com/reference/android/Manifest.permission#USE_FULL_SCREEN_INTENT)\npermission remains enabled by default.\n\nUser permission\n---------------\n\nWith Android 14, apps can use [`NotificationManager#canUseFullScreenIntent()`](https://developer.android.com/reference/android/app/NotificationManager#canUseFullScreenIntent())\nto check if they can send full-screen notifications. To get user permission to\nsend full-screen notifications, apps use [`ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT`](https://developer.android.com/reference/android/provider/Settings#ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT)\nto launch the **Manage full screen intents** setting as shown in Figure 1:\n\n**Figure 1.** UI for enabling apps to send full-screen intents.\n\nThe **Manage full screen intents** setting is in the **Settings** menu under\n**Special App Access**. With this UI, users can revoke this permission if needed.\n\nOEM requirements\n----------------\n\nIn Android 14, FSI permissions for apps are enabled by\ndefault. OEMs must specify which apps qualify for FSI permissions. OEMs must\nensure that third-party app stores set the initial grant states of FSI\npermissions for their apps using\n[`PackageInstaller.SessionParams`](https://developer.android.com/reference/android/content/pm/PackageInstaller.SessionParams),\nspecifically with the [`PERMISSION_STATE_DEFAULT`](https://developer.android.com/reference/android/content/pm/PackageInstaller.SessionParams#PERMISSION_STATE_DEFAULT), [`PERMISSION_STATE_DENIED`](https://developer.android.com/reference/android/content/pm/PackageInstaller.SessionParams#PERMISSION_STATE_DENIED), and [`PERMISSION_STATE_GRANTED`](https://developer.android.com/reference/android/content/pm/PackageInstaller.SessionParams#PERMISSION_STATE_GRANTED)\nparameters.\n\nValidation\n----------\n\nUse the CTS Verifier test in [`NotificationFullScreenIntentVerifierActivity.java`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/apps/CtsVerifier/src/com/android/cts/verifier/notifications/NotificationFullScreenIntentVerifierActivity.java),\nand the CTS test in [`NotificationManagerTest.java`](https://cs.android.com/android/platform/superproject/+/android-latest-release:cts/tests/app/src/android/app/cts/NotificationManagerTest.java;drc=ed156b1d4a7d91675dba1adb9191a92cf439dab0;l=148)\nto validate the FSI limits.\n\n### Manual tests\n\nFollow these steps to manually test FSI limits on your app:\n\n1. Declare [`USE_FULL_SCREEN_INTENT`](https://developer.android.com/reference/android/Manifest.permission#USE_FULL_SCREEN_INTENT) in your app's `AndroidManifest.xml` file.\n2. Use [`ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT`](https://developer.android.com/reference/android/provider/Settings#ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT) to manage settings to turn FSI on or off.\n3. On your test phone, manually toggle the user permission for full-screen notifications as shown in Figure 1.\n4. Send an FSI notification.\n5. Validate the appearance of the full-screen notification for the following combinations of FSI permission and display modes:\n\n|--------------------|----------------------------------------------------------|----------------------------------------------------------|---------------------------------------------------|-------------------------------|\n| **FSI permission** | **Unlocked screen** | **Locked screen** | **Off screen** | **Always-on display (AOD)** |\n| Granted by user | Persistent heads-up notification (HUN) with pill buttons | Launch FSI | Launch FSI | Launch FSI |\n| 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 |"]]