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

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

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 ใน 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 วินาที