การอ่านหน้าจอที่จำกัด

ใน Android 9 และต่ำกว่า สิทธิ์ในการจับภาพบัฟเฟอร์หน้าจอ ( READ_FRAME_BUFFER , CAPTURE_VIDEO_OUTPUT และ CAPTURE_SECURE_VIDEO_OUTPUT ) มอบให้กับแอปที่มี ลาย เซ็นหรือสิทธิ์พิเศษ ช่วยให้สามารถทำกิจกรรมการจับภาพบัฟเฟอร์หน้าจอได้อย่างราบรื่น เช่น การจับภาพหน้าจอ หรือการบันทึกเนื้อหาบนหน้าจอของอุปกรณ์

เริ่มตั้งแต่ Android 10 เป็นต้นไป เพื่อป้องกันการเข้าถึงเนื้อหาบนหน้าจอของอุปกรณ์โดยไม่มีการให้สิทธิ์ในการจับภาพวิดีโอจะไม่ได้รับสิทธิ์ให้กับแอปที่ได้รับสิทธิ์ การเข้าถึงโดยไม่ได้รับความยินยอมจากผู้ใช้ ถูกจำกัด และอนุญาตเฉพาะกับแอปที่มีสิทธิ์ลายเซ็นเท่านั้น ผู้ผลิตอุปกรณ์ที่เรียกใช้แอปที่ได้รับสิทธิ์ซึ่งใช้ฟังก์ชันการถ่ายภาพแบบไม่ต้องโต้ตอบนี้จะได้รับผลกระทบจากข้อกำหนดนี้

ใน Android 10 ถ้าคุณไม่มีสิทธิ์ลายเซ็นในการจับภาพบัฟเฟอร์หน้าจอที่ระบุไว้ แอปของคุณจะไม่สามารถจับภาพบัฟเฟอร์หน้าจอได้หากไม่ได้รับความยินยอมจากผู้ใช้ เพื่อให้แน่ใจว่าคุณมีสิทธิ์ที่คุณต้องการ ให้ค้นหาไฟล์รายการของคุณเพื่อดูสิทธิ์ลายเซ็นที่ระบุไว้ก่อนหน้านี้ ย้ายแอปที่ได้รับสิทธิพิเศษที่ได้รับผลกระทบทั้งหมด (ตามที่พบในการค้นหาของคุณ) ไปยังคลาส MediaProjectionManager ซึ่งอนุญาตให้แอปของบุคคลที่สามจับภาพบัฟเฟอร์หน้าจอโดยไม่ต้องได้รับอนุญาต แต่ต้องได้รับความยินยอมจากผู้ใช้ โฟลว์นี้จะแสดงกล่องโต้ตอบที่แจ้งให้ผู้ใช้อนุญาตให้จับภาพหน้าจอเมื่อแอปเริ่มต้น ใน Android 10 คุณสมบัติใหม่ของกล่องโต้ตอบมีดังต่อไปนี้:

  • ให้การเชื่อมโยงที่มองเห็นได้มากขึ้นด้วยไอคอน Cast
  • ให้ข้อมูลเพิ่มเติมเกี่ยวกับความละเอียดอ่อนของข้อมูลที่สามารถเข้าถึงได้
  • ป้องกันไม่ให้ผู้ใช้ซ่อนกล่องโต้ตอบเกี่ยวกับการเริ่มต้นในอนาคต: กล่องโต้ตอบจะแสดงทุกครั้ง