Máy ảnh hệ thống

Trên các thiết bị chạy Android 11 trở lên, khung Android hỗ trợ camera hệ thống. Đây là những thiết bị camera chỉ hiển thị cho các quy trình có quyền android.permission.SYSTEM_CAMERA và quyền truy cập camera thông thường. Quyền android.permission.SYSTEM_CAMERA (ra mắt trong Android 11) có cấp độ bảo vệ là system|signature. Điều này có nghĩa là chỉ những ứng dụng được cài đặt trên phân vùng hệ thống hoặc được ký bằng cùng một chứng chỉ với hệ thống mới có thể được cấp quyền này. Các ứng dụng công khai của bên thứ ba không thể truy cập vào camera hệ thống.

Camera hệ thống rất hữu ích cho những nhà sản xuất thiết bị muốn triển khai các tính năng yêu cầu quyền truy cập vào camera nhưng cũng bị hạn chế đối với các ứng dụng đặc quyền hoặc ứng dụng hệ thống.

Vì các ứng dụng hệ thống được cấp quyền android.permission.SYSTEM_CAMERA cũng phải có quyền android.permission.CAMERA, nên người dùng có thể chọn thu hồi các quyền CAMERA thông thường để ngăn ứng dụng như vậy truy cập vào camera trên thiết bị.

Triển khai

Để một thiết bị camera cụ thể trở thành camera hệ thống, camera HAL phải quảng cáo ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA trong danh sách các chức năng của thiết bị.

Để tạo một ứng dụng có quyền truy cập vào camera hệ thống, ứng dụng đó phải được đưa vào danh sách cho phép trong tệp privapp-permissions.xml dành riêng cho thiết bị. Tệp này chỉ định những ứng dụng mà quyền android.permission.SYSTEM_CAMERA phải được cấp cho.

Xác nhận kết quả

Để xác minh rằng một ứng dụng công khai không thể phát hiện thấy camera hệ thống nào trên thiết bị, hãy chạy thử nghiệm android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery CTS.

Tất cả các kiểm thử CTS camera đều chạy trên các thiết bị camera hệ thống.