Управление яркостью фонарика

На устройствах с Android 13 или более поздней версии платформа Android предоставляет многоуровневое управление яркостью фонарика. В Android 12 и более ранних версиях фреймворк позволяет только включать и выключать фонарик. Поддержка многоуровневого управления яркостью позволяет использовать фонарик в разных ситуациях, например регулировать яркость в зависимости от условий освещения и подавать сигналы о помощи с помощью стробоскопического эффекта, отправляя быстрые импульсы света подряд. Ещё одно преимущество этой функции – она может продлить время работы от батареи и повысить производительность, поскольку фонарик не всегда нужно включать на максимальную мощность, что может привести к перегреву.

Общедоступные API

Приложения могут использовать функцию управления яркостью фонарика с помощью следующих общедоступных API и ключей характеристик камеры. Для этих API не требуется разрешение на доступ к камере, поскольку они не используют ее.

CameraManager API

Ключи CameraCharacteristics

Реализация

Чтобы поддерживать функцию управления яркостью фонарика на устройстве, используйте следующие интерфейсы HAL AIDL камеры:

Местоположение: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl

Чтобы поддерживать функцию управления яркостью фонарика, убедитесь, что в вашей реализации HAL объявлены следующие ключи характеристик камеры:

Справочную реализацию аппаратно-зависимого уровня камеры с поддержкой управления яркостью вспышки можно найти на странице EmulatedCameraDeviceHWLImpl.cpp.

Проверка

Чтобы проверить, правильно ли реализована функция управления яркостью фонарика, запустите следующие тесты VTS и CTS: