Đối với các thiết bị chạy Android 13 trở lên, Android khung cung cấp kiểm soát nhiều cấp độ cho độ mạnh của đèn pin. Trong Android 12 trở xuống, khung này chỉ cho phép bật hoặc tắt chế độ đèn pin. Bằng cách hỗ trợ độ mạnh của đèn pin nhiều cấp điều khiển, thiết bị có thể cho phép các trường hợp sử dụng như điều khiển độ sáng của đèn pin dựa trên điều kiện ánh sáng và gửi tín hiệu để hỗ trợ sử dụng hiệu ứng nhấp nháy bằng cách gửi các xung nhanh của ánh sáng liên tiếp. Khác lợi ích của tính năng này là nó có thể cải thiện thời lượng pin và hiệu suất chế độ đèn pin không phải lúc nào cũng cần bật ở cường độ tối đa, từ đó có thể dẫn đến tình trạng điều tiết nhiệt.
API công khai
Các ứng dụng có thể sử dụng tính năng kiểm soát độ mạnh của đèn pin thông qua những thông tin công khai sau Khoá đặc điểm API và máy ảnh. Không cần quyền truy cập vào máy ảnh cho các API này vì máy ảnh không truy cập được.
API CameraManager
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: Đặt mức độ sáng của đèn pin liên kết với đèn pin đã cho Giá trịcameraId
ở chế độ đèn pin. Nếu chế độ đèn pin đang tắt vàtorchStrength
lớn hơn hoặc bằng1
, đèn pin sẽ bật theo mức cường độ được chỉ định trongtorchStrength
.public int getTorchStrengthLevel (String cameraId)
: Trả về mức độ sáng của đơn vị flash liên kết vớicameraId
.
Các phím CameraCharacteristics
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: Độ sáng tối đa. Máy ảnh HAL quảng cáo tính năng này bằng cách cài đặt một giá trị lớn hơn1
.FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: Mức độ sáng mặc định của đèn pin.
Triển khai
Để hỗ trợ tính năng kiểm soát độ mạnh của đèn pin trên thiết bị của bạn, hãy sử dụng giao diện AIDL HAL cho máy ảnh:
Vị trí: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
Hãy đảm bảo việc triển khai lớp trừu tượng phần cứng (HAL) cho quảng cáo các đặc điểm sau đây của camera các phím hỗ trợ tính năng điều chỉnh độ sáng của đèn pin:
Để tham khảo cách triển khai lớp trừu tượng phần cứng (HAL) cho máy ảnh để hỗ trợ kiểm soát độ mạnh đèn pin,
xem
EmulatedCameraDeviceHWLImpl.cpp
.
Xác nhận kết quả
Để xác thực việc triển khai tính năng kiểm soát độ mạnh của đèn pin, hãy chạy sau đây là các bài kiểm tra VTS và CTS:
- VTS:
/camera/provider/aidl/vts/VtsAidlHalCameraProvider\_TargetTest.cpp
- CTS (Bộ kiểm tra tính tương thích):
/platform/cts/tests/camera/src/android/hardware/camera2/cts/FlashlightTest.java