Android 13 또는 이후 버전을 실행하는 기기에 Android 프레임워크는 토치 강도를 여러 수준으로 제어할 수 있는 기능을 제공합니다. Android 12 이하의 경우 프레임워크에서는 토치 모드를 켜거나 끌 수만 있습니다. 여러 수준으로의 토치 강도 제어를 지원함으로써 기기에서는 조명 조건에 따라 손전등의 밝기를 제어하고 섬광등 효과를 사용하여 빛의 빠른 파동을 연속으로 보내어 지원 신호를 보내는 등 다양한 사용 사례가 가능합니다. 이 기능의 또 다른 이점은 토치 모드를 항상 최대 강도(열 제한 조건으로 이어질 수 있음)로 켤 필요가 없으므로 배터리 수명과 성능을 개선할 수 있다는 점입니다.
공개 API
앱에서는 다음과 같은 공개 API 및 카메라 특성 키를 통해 토치 강도 제어 기능을 사용할 수 있습니다. 카메라에 액세스하지 않으므로 이러한 API에는 카메라 권한이 필요하지 않습니다.
CameraManager API
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength): 토치 모드에서cameraId값과 연결된 손전등의 밝기 수준을 설정합니다. 토치 모드가 꺼져 있고torchStrength가1보다 크거나 같으면 토치는torchStrength에 지정된 강도 수준으로 켜집니다.public int getTorchStrengthLevel (String cameraId):cameraId와 연결된 플래시 단위의 밝기 수준을 반환합니다.
CameraCharacteristics 키
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 테스트를 실행합니다.