Для устройств под управлением 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 объявляет следующие ключи характеристик камеры для поддержки функции управления яркостью фонарика:
Для справочной реализации Camera HAL, поддерживающей управление силой света горелки, см. EmulatedCameraDeviceHWLImpl.cpp
.
Проверка
Для проверки реализации функции управления мощностью горелки выполните следующие тесты VTS и CTS: