Для устройств под управлением Android 13 и более поздних версий фреймворк Android обеспечивает многоуровневое управление яркостью фонарика. В Android 12 и более ранних версиях фреймворк позволяет только включать и выключать режим фонарика. Благодаря поддержке многоуровневого управления яркостью фонарика устройства могут использовать такие функции, как управление яркостью фонарика в зависимости от условий освещения и отправка сигналов о помощи с помощью стробоскопического эффекта, посылая быстрые импульсы света подряд. Ещё одно преимущество этой функции заключается в увеличении срока службы аккумулятора и производительности, поскольку режим фонарика не всегда требуется включать на максимальную мощность, что может привести к перегреву.
Публичные API
Приложения могут использовать функцию управления мощностью фонарика через следующие общедоступные API и ключи характеристик камеры. Для этих API не требуются разрешения на доступ к камере, поскольку доступ к ней не осуществляется.
API CameraManager
-
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: устанавливает уровень яркости фонарика, связанного с заданным значениемcameraId
, в режиме фонарика. Если режим фонарика выключен и значениеtorchStrength
больше или равно1
, фонарик включается с уровнем яркости, указанным вtorchStrength
. -
public int getTorchStrengthLevel (String cameraId)
: возвращает уровень яркости вспышки, связанной сcameraId
.
Клавиши характеристик камеры
-
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: Максимальный уровень яркости. Камера HAL объявляет об этой функции, устанавливая значение больше1
. -
FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: Уровень яркости фонарика по умолчанию.
Выполнение
Для поддержки функции управления мощностью фонарика на вашем устройстве используйте следующие интерфейсы камеры AIDL HAL:
Расположение: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
Убедитесь, что ваша реализация HAL объявляет следующие ключи характеристик камеры для поддержки функции управления яркостью фонарика:
Для справочной реализации камеры HAL, поддерживающей управление силой горелки, см. EmulatedCameraDeviceHWLImpl.cpp
.
Проверка
Для проверки реализации функции управления силой пламени горелки выполните следующие тесты VTS и CTS: