เพื่อป้องกันสแปมโฆษณาและฟิชชิ่งข้อมูลรับรอง เริ่มตั้งแต่ Android 14 เป็นต้นไป สิทธิ์ USE_FULL_SCREEN_INTENT
เริ่มต้นในการส่งการแจ้งเตือนแบบเต็มหน้าจอจะมอบให้ได้กับแอปที่มีฟังก์ชันการโทรและการเตือนเท่านั้น
สำหรับแอปทั้งหมดที่ติดตั้งบน Android 14 สิทธิ์ USE_FULL_SCREEN_INTENT
จะถูกเปิดใช้งานตามค่าเริ่มต้น เมื่อติดตั้ง Google Play Store จะเพิกถอนการอนุญาตเจตนาเต็มหน้าจอ (FSI) สำหรับแอปที่ไม่มีฟังก์ชันการโทรหรือการเตือน
สำหรับแอปที่ติดตั้งบนโทรศัพท์ที่ใช้เวอร์ชันต่ำกว่า Android 13 สิทธิ์ USE_FULL_SCREEN_INTENT
จะยังคงเปิดใช้งานตามค่าเริ่มต้น
สิทธิ์ของผู้ใช้
เมื่อใช้ Android 14 แอปสามารถใช้ NotificationManager#canUseFullScreenIntent()
เพื่อตรวจสอบว่าสามารถส่งการแจ้งเตือนแบบเต็มหน้าจอได้หรือไม่ หากต้องการรับสิทธิ์ผู้ใช้ในการส่งการแจ้งเตือนแบบเต็มหน้าจอ แอปจะใช้ ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
เพื่อเปิดการตั้งค่า จัดการ Intents แบบเต็มหน้าจอ ดังแสดงในรูปที่ 1:
รูปที่ 1 UI สำหรับเปิดใช้งานแอปเพื่อส่ง Intents แบบเต็มหน้าจอ
การ ตั้งค่าจัดการความตั้งใจแบบเต็มหน้าจอ อยู่ในเมนู การตั้งค่า ใต้ การเข้าถึงแอปพิเศษ ด้วย UI นี้ ผู้ใช้สามารถเพิกถอนการอนุญาตนี้ได้หากจำเป็น
ข้อกำหนดของ OEM
ใน Android 14 สิทธิ์ FSI สำหรับแอปจะเปิดใช้งานตามค่าเริ่มต้น OEM ต้องระบุว่าแอปใดมีสิทธิ์ได้รับสิทธิ์ FSI OEM ต้องตรวจสอบให้แน่ใจว่าร้านค้าแอปบุคคลที่สามตั้งค่าสถานะการให้สิทธิ์เริ่มต้นของสิทธิ์ 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 และโหมดการแสดงผลต่อไปนี้:
ได้รับอนุญาตจากเอฟเอสไอ | ปลดล็อคหน้าจอแล้ว | ล็อคหน้าจอ | ปิดหน้าจอ | จอแสดงผลเปิดตลอดเวลา (AOD) |
ได้รับจากผู้ใช้ | การแจ้งเตือนล่วงหน้าแบบถาวร (HUN) พร้อมปุ่มเม็ดยา | เปิดตัวเอฟเอสไอ | เปิดตัวเอฟเอสไอ | เปิดตัวเอฟเอสไอ |
ถูกปฏิเสธโดยผู้ใช้ | HUN พร้อมปุ่มเม็ดยาสำหรับ 60s | HUN ที่มีปุ่มเม็ดยาปรากฏเป็นอันดับแรกในรายการสำหรับยุค 60 | AOD เปิดขึ้น แสดง HUN พร้อมปุ่มเม็ดยาเป็นเวลา 60 วินาที | HUN พร้อมปุ่มเม็ดยาสำหรับ 60s |