Para dispositivos com o Android 13 ou mais recente, oferece um controle multinível para a intensidade da lanterna. Em No Android 12 e versões anteriores, o framework permite apenas ativar ou desativar o modo tocha. Oferecendo suporte à força da lanterna em vários níveis controle, os dispositivos podem permitir casos de uso como controlar o brilho do com base nas condições de iluminação e no envio de sinais para assistência usando um efeito estroboscópico, enviando pulsos rápidos de luz em sequência. Outra benefício desse recurso é que ele pode melhorar a duração da bateria e o desempenho, o modo lanterna nem sempre precisa ser ativado na intensidade máxima, o que pode levar a condições de limitação térmica.
APIs públicas
Os apps podem usar o recurso de controle da intensidade da lanterna nos seguintes apps públicos APIs 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 associada ao ValorcameraId
no modo lanterna. Se o modo lanterna estiver desativado etorchStrength
for maior ou igual a1
, a lanterna será ativada 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 aocameraId
.
Teclas CameraCharacteristics
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: Nível de brilho máximo. A HAL da câmera anuncia esse recurso configurando 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 da intensidade da lanterna no dispositivo, use o seguinte: Interfaces HAL de câmera AIDL:
Local: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
Verifique se a implementação de HAL anuncia as seguintes características de câmera teclas compatíveis com o recurso de controle de brilho da lanterna:
Para uma implementação de HAL da câmera de referência compatível com o controle da intensidade da lanterna,
ver
EmulatedCameraDeviceHWLImpl.cpp
Validação
Para validar sua implementação do recurso de controle de intensidade da lanterna, execute o seguintes testes VTS e CTS: