Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release
thay vì aosp-main
để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Máy ảnh hệ thống
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
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 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
, 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 ứng dụng công khai không thể phát hiện thấy máy ảnh hệ thống nào trên thiết bị, hãy chạy quy trình kiểm thử CTS android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery
.
Tất cả các bài kiểm thử CTS của máy ảnh đều chạy trên các thiết bị có camera của hệ thống.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-26 UTC."],[],[],null,["# System cameras\n\nOn devices running Android 11 or higher, the Android\nframework supports system\ncameras, which are camera devices that are visible only to processes with the\n`android.permission.SYSTEM_CAMERA` permission and regular camera permissions.\nThe `android.permission.SYSTEM_CAMERA` permission, introduced in\nAndroid 11, has\na protection level of `system|signature`. This means that only apps installed on\nthe system partition with or signed with the same certificate as the system can\nbe granted this permission. Third-party public apps can't access system cameras.\n\nSystem cameras are useful for device manufacturers that want to implement\nfeatures that require access to a camera but are also restricted to privileged\nor system apps.\n\nBecause systems apps that are granted the\n`android.permission.SYSTEM_CAMERA` permission must also have the\n[`android.permission.CAMERA`](https://developer.android.com/reference/android/Manifest.permission#CAMERA)\npermission, users can choose to revoke normal `CAMERA` permissions to prevent\nsuch an app from accessing the cameras on the device.\n\nImplementation\n--------------\n\nTo make a particular camera device a system camera, the camera HAL must\nadvertise\n[`ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/camera/metadata/3.5/types.hal#120)\nin its capabilities list.\n\nTo create an app that has access to a system camera, the app must be allowlisted\nin the device-specific `privapp-permissions.xml` file, which specifies the apps\nthat the\n[`android.permission.SYSTEM_CAMERA`](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/core/res/AndroidManifest.xml#1312)\npermission must be granted to.\n\nValidation\n----------\n\nTo verify that no system cameras on the device can be discovered by a public\napp, run the\n`android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery` CTS\ntest.\n\nAll\n[camera CTS tests](/docs/compatibility/cts/camera-hal#cts_tests)\nrun on system camera devices."]]