ขีดจํากัด 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 with pill buttons for 60s HUN ที่มีปุ่มแบบเม็ดยาจะปรากฏเป็นอันดับแรกในรายการเป็นเวลา 60 วินาที AOD จะเปิดขึ้นและแสดง HUN พร้อมปุ่มยาเป็นเวลา 60 วินาที HUN with pill buttons for 60s