เพื่อป้องกันสแปมโฆษณาและการฟิชชิงข้อมูลเข้าสู่ระบบ ตั้งแต่วันที่ 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 วินาที |