Android 13 以降を搭載したデバイスでは、Android フレームワークでトーチの強さをマルチレベルでコントロールできます。Android 12 以前では、フレームワークでトーチモードのオン / オフのみが可能です。トーチの強さのマルチレベルでのコントロールをサポートすることで、デバイスでは、照明条件に基づいてライトの明るさをコントロールする、高速で点滅する光を連続で送信しストロボ効果を使用して助けを求めるシグナルを送信するなどの使用例が実現します。この機能のもう 1 つのメリットは、必ずしもトーチモードを最大の強さでオンにする(サーマル スロットリングの状態につながる可能性があります)必要はないため、バッテリーの寿命とパフォーマンスを改善できる点です。
公開 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 テストを実行します。