ขีดจํากัด Intent แบบเต็มหน้าจอ

ใน 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

fsi-ui

รูปที่ 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 ในแอปด้วยตนเอง

  1. ประกาศ USE_FULL_SCREEN_INTENT ในไฟล์ AndroidManifest.xml ของแอป
  2. ใช้ ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT เพื่อจัดการการตั้งค่าในการเปิดหรือปิด FSI
  3. ในโทรศัพท์ที่ใช้ทดสอบ ให้สลับการให้สิทธิ์จากผู้ใช้สำหรับการแจ้งเตือนแบบเต็มหน้าจอด้วยตนเอง ดังที่แสดงในรูปที่ 1
  4. ส่งการแจ้งเตือน FSI
  5. ตรวจสอบลักษณะที่ปรากฏของการแจ้งเตือนแบบเต็มหน้าจอสำหรับชุดค่าผสมต่อไปนี้ของสิทธิ์ FSI และโหมดการแสดงผล
สิทธิ์ FSI หน้าจอปลดล็อก หน้าจอล็อก หน้าจอปิด จอแสดงผลเปิดตลอดเวลา (AOD)
ผู้ใช้ให้สิทธิ์ การแจ้งเตือนล่วงหน้า (HUN) แบบต่อเนื่องพร้อมปุ่มรูปแคปซูล เปิด FSI เปิด FSI เปิด FSI
ผู้ใช้ปฏิเสธ HUN พร้อมปุ่มรูปแคปซูลเป็นเวลา 60 วินาที HUN พร้อมปุ่มรูปแคปซูลจะปรากฏขึ้นเป็นรายการแรกในรายการเป็นเวลา 60 วินาที AOD เปิดขึ้น แสดง HUN พร้อมปุ่มรูปแคปซูลเป็นเวลา 60 วินาที HUN พร้อมปุ่มรูปแคปซูลเป็นเวลา 60 วินาที