搭載 Android 13 以上版本的裝置: 架構提供多層次的手電筒強度控制。於 如果是 Android 12 以下版本,此架構僅允許 開啟或關閉手電筒模式支援多層手電筒強度 控制,裝置則可實現各種用途,例如控制 根據環境照明條件手電筒,傳送訊號以取得協助 利用閃爍效果,連快速連貫地處理一連串光。其他 這項功能的好處是能延長電池續航力,以及提升電池續航力。 手電筒模式不一定要以最大強度開啟 這可能會導致熱保護條件發生。
公用 API
應用程式可透過下列公用介面使用手電筒強度控制功能 API 和相機特徵鍵以下應用程式不需要相機權限: 但由於不具有相機存取權
CameraManager API
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: 設定指定相關手電筒的亮度cameraId
值。如果手電筒模式已關閉,且torchStrength
大於或等於1
,手電筒會以強度等級開啟 (在torchStrength
中指定的)。public int getTorchStrengthLevel (String cameraId)
: 傳回cameraId
相關閃光燈單位的亮度。
相機特性鍵
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: 最大亮度。相機 HAL 透過設定 大於1
的值。FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: 預設手電筒亮度。
實作
如要在裝置上支援手電筒強度控制功能,請使用以下方法 相機 AIDL HAL 介面:
位置:/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
確認 HAL 實作方式宣傳下列相機特性 支援手電筒亮度控制功能的按鍵:
如需支援手電筒強度控制的參考鏡頭 HAL 實作,
看
EmulatedCameraDeviceHWLImpl.cpp
。
驗證
如要驗證手電筒強度控制功能的實作情形,請執行 下列 VTS 和 CTS 測試:
- VTS:
/camera/provider/aidl/vts/VtsAidlHalCameraProvider\_TargetTest.cpp
- CTS:
/platform/cts/tests/camera/src/android/hardware/camera2/cts/FlashlightTest.java