Trên các thiết bị chạy Android 11 trở lên, Android framework hỗ trợ camera hệ thống, là các thiết bị camera chỉ hiển thị với các quy trình có quyền android.permission.SYSTEM_CAMERA
và quyền đối với máy ảnh thông thường. Quyền android.permission.SYSTEM_CAMERA
, được giới thiệu trong Android 11, có cấp độ bảo vệ của 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 có 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 cộng của bên thứ ba không thể truy cập camera hệ thống.
Máy ảnh hệ thống rất hữu ích cho các 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 máy ảnh nhưng cũng bị hạn chế đối với các ứng dụng hệ thống hoặc đặc quyền.
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
, người dùng có thể chọn thu hồi quyền CAMERA
thông thường để ngăn ứng dụng đó truy cập vào camera trên thiết bị.
Thực hiện
Để đặt một thiết bị máy ảnh cụ thể thành máy ảnh hệ thống, máy ảnh HAL phải quảng cáo ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA
trong danh sách khả năng của nó.
Để tạo ứ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 trắng trong privapp-permissions.xml
dành riêng cho thiết bị, tệp này chỉ định các ứng dụng mà quyền android.permission.SYSTEM_CAMERA
phải được cấp.
Thẩm định
Để xác minh rằng không ứng dụng công cộng nào có thể phát hiện được camera hệ thống trên thiết bị, hãy chạy kiểm tra android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery
CTS.
Tất cả các bài kiểm tra CTS camera đều chạy trên các thiết bị camera hệ thống.