กล้องระบบ

บนอุปกรณ์ที่ใช้ Android 11 ขึ้นไป เฟรมเวิร์กของ Android รองรับกล้องระบบ ซึ่งเป็นอุปกรณ์กล้องที่มองเห็นได้เฉพาะการประมวลผลด้วยสิทธิ์ android.permission.SYSTEM_CAMERA และการอนุญาตของกล้องแบบปกติ การอนุญาต android.permission.SYSTEM_CAMERA ที่เปิดตัวใน Android 11 มีระดับการป้องกัน system|signature ซึ่งหมายความว่าเฉพาะแอพที่ติดตั้งบนพาร์ติชั่นระบบที่มีหรือเซ็นชื่อด้วยใบรับรองเดียวกันกับระบบเท่านั้นที่จะได้รับสิทธิ์นี้ แอปสาธารณะของบุคคลที่สามไม่สามารถเข้าถึงกล้องของระบบได้

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

เนื่องจากแอประบบที่ได้รับสิทธิ์ android.permission.SYSTEM_CAMERA ต้องได้รับอนุญาต android.permission.CAMERA ด้วย ผู้ใช้สามารถเลือกที่จะเพิกถอนการอนุญาต CAMERA ปกติเพื่อป้องกันไม่ให้แอปดังกล่าวเข้าถึงกล้องบนอุปกรณ์ได้

การดำเนินการ

ในการทำให้อุปกรณ์กล้องเป็นกล้องระบบ กล้อง HAL จะต้องโฆษณา ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA ในรายการความสามารถของกล้อง

ในการสร้างแอปที่มีสิทธิ์เข้าถึงกล้องของระบบ แอปต้องได้รับอนุญาตพิเศษในไฟล์ privapp-permissions.xml เฉพาะอุปกรณ์ ซึ่งระบุแอปที่ต้องให้สิทธิ์ android.permission.SYSTEM_CAMERA

การตรวจสอบความถูกต้อง

หากต้องการตรวจสอบว่าแอปสาธารณะไม่สามารถค้นพบกล้องระบบบนอุปกรณ์ได้ ให้เรียกใช้การทดสอบ android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery CTS

การทดสอบ CTS ของกล้อง ทั้งหมดทำงานบนอุปกรณ์กล้องของระบบ