ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
ขีดจํากัด Intent แบบเต็มหน้าจอ
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
เพื่อป้องกันสแปมโฆษณาและการฟิชชิงข้อมูลเข้าสู่ระบบ ตั้งแต่วันที่ 10 สิงหาคม 2020 เป็นต้นไป ระบบจะมอบสิทธิ์เริ่มต้น USE_FULL_SCREEN_INTENT
ในการส่งการแจ้งเตือนแบบเต็มหน้าจอให้กับแอปที่มีฟังก์ชันการโทรและการปลุกเท่านั้น
ระบบจะเปิดใช้สิทธิ์ USE_FULL_SCREEN_INTENT
ให้กับแอปทั้งหมดที่ติดตั้งใน Android 14 โดยค่าเริ่มต้น เมื่อติดตั้ง Google Play Store จะเพิกถอนสิทธิ์ Intent แบบเต็มหน้าจอ (FSI) ของแอปที่ไม่มีฟังก์ชันการโทรหรือการปลุก
สำหรับแอปที่ติดตั้งในโทรศัพท์ที่ใช้ Android เวอร์ชัน 13 หรือต่ำกว่า ระบบจะยังคงเปิดใช้สิทธิ์ USE_FULL_SCREEN_INTENT
ไว้โดยค่าเริ่มต้น
สิทธิ์ของผู้ใช้
ใน Android 14 แอปสามารถใช้ NotificationManager#canUseFullScreenIntent()
เพื่อตรวจสอบว่าสามารถส่งการแจ้งเตือนแบบเต็มหน้าจอได้หรือไม่ หากต้องการขอสิทธิ์จากผู้ใช้เพื่อส่งการแจ้งเตือนแบบเต็มหน้าจอ แอปจะใช้ ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
เพื่อเปิดการตั้งค่าจัดการ Intent แบบเต็มหน้าจอดังที่แสดงในรูปที่ 1
รูปที่ 1 UI สำหรับเปิดใช้แอปเพื่อส่ง Intent แบบเต็มหน้าจอ
การตั้งค่าจัดการ Intent แบบเต็มหน้าจออยู่ในเมนูการตั้งค่าในส่วนการเข้าถึงแอปพิเศษ UI นี้ช่วยให้ผู้ใช้เพิกถอนสิทธิ์นี้ได้หากจำเป็น
ข้อกำหนดของ OEM
ใน Android 14 ระบบจะเปิดใช้สิทธิ์ FSI สําหรับแอปโดยค่าเริ่มต้น OEM ต้องระบุแอปที่มีสิทธิ์ใช้สิทธิ์ FSI OEM ต้องตรวจสอบว่า App Store ของบุคคลที่สามตั้งค่าสถานะการให้สิทธิ์เริ่มต้นของสิทธิ์ FSI สําหรับแอปโดยใช้ PackageInstaller.SessionParams
โดยเฉพาะอย่างยิ่งกับพารามิเตอร์ PERMISSION_STATE_DEFAULT
, PERMISSION_STATE_DENIED
และ PERMISSION_STATE_GRANTED
การตรวจสอบความถูกต้อง
ใช้การทดสอบโปรแกรมตรวจสอบ CTS ใน NotificationFullScreenIntentVerifierActivity.java
และทดสอบ CTS ใน NotificationManagerTest.java
เพื่อตรวจสอบขีดจำกัด FSI
การทดสอบด้วยตนเอง
ทําตามขั้นตอนต่อไปนี้เพื่อทดสอบขีดจํากัด FSI ในแอปด้วยตนเอง
- ประกาศ
USE_FULL_SCREEN_INTENT
ในไฟล์ AndroidManifest.xml
ของแอป
- ใช้
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
เพื่อจัดการการตั้งค่าเพื่อเปิดหรือปิด FSI
- ในโทรศัพท์ที่ใช้ทดสอบ ให้สลับสิทธิ์ของผู้ใช้สำหรับการแจ้งเตือนแบบเต็มหน้าจอด้วยตนเองตามที่แสดงในรูปที่ 1
- ส่งการแจ้งเตือน FSI
- ตรวจสอบลักษณะที่ปรากฏของการแจ้งเตือนแบบเต็มหน้าจอสำหรับชุดค่าผสมต่อไปนี้ของสิทธิ์ FSI และโหมดการแสดงผล
สิทธิ์ FSI
|
หน้าจอที่ปลดล็อก
|
หน้าจอล็อก
|
ปิดหน้าจอ
|
จอแสดงผลเปิดตลอดเวลา (AOD)
|
ผู้ใช้ให้สิทธิ์
|
การแจ้งเตือนล่วงหน้าแบบแสดงอยู่ตลอด (HUN) พร้อมปุ่มทรงยาเม็ด
|
เปิด FSI
|
เปิด FSI
|
เปิด FSI
|
ปฏิเสธโดยผู้ใช้
|
HUN พร้อมปุ่มยาเม็ดเป็นเวลา 60 วินาที
|
HUN ที่มีปุ่มยาแสดงเป็นรายการแรกเป็นเวลา 60 วินาที
|
AOD เปิดขึ้น แสดง HUN ด้วยปุ่มยาเป็นเวลา 60 วินาที
|
HUN พร้อมปุ่มยาเม็ดเป็นเวลา 60 วินาที
|
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 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 |"]]