Control de la potencia de la linterna

En dispositivos que ejecutan Android 13 o versiones posteriores, el framework de Android proporciona un control de varios niveles para la potencia de la linterna. En Android 12 y versiones anteriores, el framework solo permite activar o desactivar el modo de linterna. Con la compatibilidad con el control de intensidad de la linterna de varios niveles, los dispositivos pueden habilitar casos de uso, como controlar el brillo de la linterna según las condiciones de iluminación y enviar señales de asistencia con un efecto estroboscópico mediante el envío de pulsos de luz rápidos en una fila. Otro beneficio de esta función es que puede mejorar la duración de batería y el rendimiento, ya que no siempre es necesario que el modo de linterna se encienda con la intensidad máxima, lo que puede generar condiciones de limitación térmica.

APIs públicas

Las apps pueden usar la función de control de intensidad de la linterna a través de las siguientes APIs públicas y claves de características de la cámara. No se requieren permisos de cámara para estas APIs porque no se accede a la cámara.

APIs de CameraManager

Claves de CameraCharacteristics

Implementación

Para admitir la función de control de intensidad de la linterna en tu dispositivo, usa las siguientes interfaces de la HAL de la cámara de AIDL:

Ubicación: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl

Asegúrate de que tu implementación de HAL anuncie las siguientes claves de características de la cámara para admitir la función de control de brillo de la linterna:

Para obtener una implementación de referencia de la HAL de la cámara que admita el control de la potencia de la linterna, consulta EmulatedCameraDeviceHWLImpl.cpp.

Validación

Para validar la implementación de la función de control de intensidad de la linterna, ejecuta las siguientes pruebas de VTS y CTS: