Para dispositivos com Android 13 ou superior, a estrutura do Android fornece um controle multinível para a intensidade da tocha. No Android 12 e versões anteriores, a estrutura permite apenas ativar ou desativar o modo tocha. Ao oferecer suporte ao controle de intensidade da tocha multinível, os dispositivos podem permitir casos de uso como controlar o brilho da lanterna com base nas condições de iluminação e enviar sinais de assistência usando um efeito estroboscópico, enviando pulsos rápidos de luz em sequência. Outro benefício desse recurso é que ele pode melhorar a vida útil e o desempenho da bateria, já que o modo lanterna nem sempre precisa estar ligado na potência máxima, o que pode levar a condições de estrangulamento térmico.
APIs públicas
Os aplicativos podem usar o recurso de controle de intensidade da tocha por meio das seguintes APIs públicas e chaves de características da câmera. Nenhuma permissão de câmera é necessária para essas APIs porque a câmera não é acessada.
APIs CameraManager
-
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: Define o nível de brilho da lanterna associado ao valorcameraId
fornecido no modo tocha. Se o modo tocha estiver desligado etorchStrength
for maior ou igual a1
, a tocha será ligada com o nível de força especificado emtorchStrength
. -
public int getTorchStrengthLevel (String cameraId)
: Retorna o nível de brilho da unidade de flash associada acameraId
.
Chaves de características CameraCharacteristics
-
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: Nível máximo de brilho. A câmera HAL anuncia esse recurso definindo um valor maior que1
. -
FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: Nível de brilho padrão da lanterna.
Implementação
Para oferecer suporte ao recurso de controle de intensidade da tocha no seu dispositivo, use as seguintes interfaces AIDL HAL da câmera:
Localização: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
Certifique-se de que sua implementação HAL anuncie as seguintes chaves de características da câmera para suportar o recurso de controle de brilho da tocha:
Para obter uma implementação HAL de câmera de referência que suporta controle de intensidade da tocha, consulte EmulatedCameraDeviceHWLImpl.cpp
.
Validação
Para validar sua implementação do recurso de controle de intensidade da tocha, execute os seguintes testes VTS e CTS:
- VTS:
/camera/provider/aidl/vts/VtsAidlHalCameraProvider\_TargetTest.cpp
- CTS:
/platform/cts/tests/camera/src/android/hardware/camera2/cts/FlashlightTest.java