Para dispositivos con Android 13 o superior, el marco de Android proporciona un control multinivel para la intensidad de la antorcha. En Android 12 y versiones anteriores, el marco solo permite activar o desactivar el modo antorcha. Al admitir el control de intensidad de la antorcha de varios niveles, los dispositivos pueden permitir casos de uso como controlar el brillo de la linterna en función de las condiciones de iluminación y enviar señales de asistencia mediante un efecto estroboscópico enviando rápidos pulsos de luz en fila. Otro beneficio de esta característica es que puede mejorar la duración y el rendimiento de la batería, ya que no siempre es necesario encender el modo antorcha a su máxima potencia, lo que puede provocar condiciones de estrangulamiento térmico.
API públicas
Las aplicaciones pueden utilizar la función de control de intensidad de la antorcha a través de las siguientes API públicas y claves de características de la cámara. No se requieren permisos de cámara para estas API porque no se accede a la cámara.
API CameraManager
-
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: establece el nivel de brillo de la linterna asociado con el valorcameraId
dado en el modo antorcha. Si el modo antorcha está apagado ytorchStrength
es mayor o igual a1
, la antorcha se enciende con el nivel de fuerza especificado entorchStrength
. -
public int getTorchStrengthLevel (String cameraId)
: devuelve el nivel de brillo de la unidad de flash asociada concameraId
.
Teclas de CameraCharacteristics
-
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: Nivel máximo de brillo. La cámara HAL anuncia esta característica estableciendo un valor mayor que1
. -
FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: Nivel de brillo predeterminado de la linterna.
Implementación
Para admitir la función de control de intensidad de la antorcha en su dispositivo, utilice las siguientes interfaces AIDL HAL de cámara:
Ubicación: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
Asegúrese de que su implementación HAL anuncie las siguientes claves de características de la cámara para admitir la función de control de brillo de la antorcha:
Para obtener una implementación de cámara HAL de referencia que admita el control de intensidad de la antorcha, consulte EmulatedCameraDeviceHWLImpl.cpp
.
Validación
Para validar su implementación de la función de control de fuerza de la antorcha, ejecute las siguientes pruebas VTS y CTS:
- VTS:
/camera/provider/aidl/vts/VtsAidlHalCameraProvider\_TargetTest.cpp
- CTS:
/platform/cts/tests/camera/src/android/hardware/camera2/cts/FlashlightTest.java