ใน Android 14 ขึ้นไป เพื่อป้องกันสแปมโฆษณาและการฟิชชิงข้อมูลเข้าสู่ระบบ
ระบบจะให้สิทธิ์ USE_FULL_SCREEN_INTENT
เริ่มต้นในการส่งการแจ้งเตือนแบบเต็มหน้าจอเฉพาะแอปที่
มีฟังก์ชันการโทรและการตั้งปลุกเท่านั้น
สำหรับแอปทั้งหมดที่ติดตั้งใน Android 14 ระบบจะเปิดใช้สิทธิ์
USE_FULL_SCREEN_INTENT
โดยค่าเริ่มต้น เมื่อติดตั้งแล้ว 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 Verifier ใน 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 วินาที |