W przypadku urządzeń z systemem Android 13 lub nowszym platforma Android zapewnia wielopoziomową kontrolę siły latarki. W Androidzie 12 i niższych framework pozwala jedynie na włączenie lub wyłączenie trybu latarki. Dzięki obsłudze wielopoziomowej kontroli mocy latarki urządzenia mogą umożliwiać takie zastosowania, jak kontrolowanie jasności latarki w oparciu o warunki oświetleniowe i wysyłanie sygnałów pomocy za pomocą efektu stroboskopowego poprzez wysyłanie szybkich impulsów światła z rzędu. Kolejną zaletą tej funkcji jest to, że może wydłużyć żywotność baterii i wydajność, ponieważ tryb latarki nie zawsze musi być włączany z maksymalną mocą, co może prowadzić do dławienia termicznego.
Publiczne interfejsy API
Aplikacje mogą korzystać z funkcji kontroli mocy latarki za pośrednictwem następujących publicznych interfejsów API i kluczy charakterystyki aparatu. Te interfejsy API nie wymagają uprawnień do aparatu, ponieważ nie można uzyskać do niego dostępu.
Interfejsy API CameraManager
-
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: Ustawia poziom jasności latarki powiązany z podaną wartościącameraId
w trybie latarki. Jeśli tryb latarki jest wyłączony, atorchStrength
jest większa lub równa1
, latarka włącza się z poziomem mocy określonym wtorchStrength
. -
public int getTorchStrengthLevel (String cameraId)
: Zwraca poziom jasności lampy błyskowej powiązanej zcameraId
.
Klawisze właściwości CameraCharacteristics
-
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: Maksymalny poziom jasności. Kamera HAL ogłasza tę funkcję, ustawiając wartość większą niż1
. -
FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: Domyślny poziom jasności latarki.
Realizacja
Aby obsługiwać funkcję kontroli mocy palnika w urządzeniu, użyj następujących interfejsów AIDL HAL aparatu:
Lokalizacja: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
Upewnij się, że implementacja HAL reklamuje następujące klucze charakterystyki kamery w celu obsługi funkcji kontroli jasności latarki:
Aby zapoznać się z referencyjną implementacją HAL kamery obsługującą sterowanie siłą palnika, zobacz EmulatedCameraDeviceHWLImpl.cpp
.
Walidacja
Aby sprawdzić wdrożenie funkcji kontroli mocy palnika, wykonaj następujące testy VTS i CTS:
- VTS:
/camera/provider/aidl/vts/VtsAidlHalCameraProvider\_TargetTest.cpp
- CTS:
/platform/cts/tests/camera/src/android/hardware/camera2/cts/FlashlightTest.java