Для устройств под управлением 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: