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

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

UI ของ FSI

รูปที่ 1 UI สำหรับเปิดใช้แอปเพื่อส่ง Intent แบบเต็มหน้าจอ

การตั้งค่าจัดการ Intent แบบเต็มหน้าจออยู่ในเมนูการตั้งค่าในส่วนการเข้าถึงแอปพิเศษ โดยผู้ใช้สามารถเพิกถอนสิทธิ์นี้ได้หากจำเป็น

ข้อกำหนดของ 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
ผู้ใช้ปฏิเสธ HUN กับปุ่มยา 60 วินาที HUN ที่มีปุ่มยาปรากฏขึ้นก่อนในรายการสำหรับช่วง 60 วินาที AOD เปิดขึ้น แสดง HUN ด้วยปุ่มยาเป็นเวลา 60 วินาที HUN ที่มีปุ่มยาเป็นเวลา 60 วินาที