En el caso de los dispositivos con Android 13 o versiones posteriores, el proporciona un control de varios niveles para la potencia de la linterna. En Para Android 12 y versiones anteriores, el framework solo permite activar o desactivar el modo linterna. Admitiendo la potencia de la linterna multinivel control, los dispositivos pueden habilitar casos de uso como controlar el brillo de la linterna según las condiciones de iluminación y el envío de señales de asistencia usando un efecto estroboscópico enviando pulsos de luz rápidos en una fila. Otro de esta función es que puede mejorar la duración y el rendimiento de la batería, ya que el modo linterna no siempre necesita activarse con la potencia máxima lo que puede provocar condiciones térmicas de regulación.
APIs públicas
Las apps pueden usar la función de control de la potencia de la linterna en los siguientes servicios Claves de características de la cámara y APIs. No se requieren permisos de cámara para estas APIs porque no se accede a la cámara.
APIs de CameraManager
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: Establece el nivel de brillo de la linterna asociado con el Es un valor decameraId
en el modo linterna. Si el modo linterna está desactivado ytorchStrength
es mayor o igual que1
, la linterna se enciende con el nivel de fuerza especificadas entorchStrength
.public int getTorchStrengthLevel (String cameraId)
: Muestra el nivel de brillo de la unidad de flash asociado concameraId
.
Teclas CameraCharacteristics
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: Nivel de brillo máximo. La HAL de la cámara anuncia esta función estableciendo un valor superior a1
.FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: Nivel predeterminado de brillo de la linterna.
Implementación
Para admitir la función de control de la potencia de la linterna en tu dispositivo, usa lo siguiente Interfaces de la HAL del AIDL de la cámara:
Ubicación: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
Asegúrate de que la implementación del HAL anuncie las siguientes características de la cámara para admitir la función de control de brillo de la linterna:
Para ver una implementación de referencia de la HAL de la cámara que admita el control de la intensidad de la linterna,
ver
EmulatedCameraDeviceHWLImpl.cpp
Validación
Para validar la implementación de la función de control de la potencia de la linterna, ejecuta el comando las siguientes pruebas de VTS y CTS: