Camera hệ thống

Trên các thiết bị chạy Android 11 trở lên, khung Android hỗ trợ máy ảnh hệ thống. Đây là các thiết bị máy ảnh chỉ hiển thị cho các quy trình có quyền android.permission.SYSTEM_CAMERA và quyền 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ệ 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 bằ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 máy ảnh 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, 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 đó truy cập vào máy ảnh trên thiết bị.

Triển khai

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

Để tạo một ứng dụng có quyền truy cập vào máy ảnh hệ thống, ứng dụng đó phải có trong 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 các ứng dụng mà bạn phải cấp quyền android.permission.SYSTEM_CAMERA.

Xác nhận kết quả

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

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