W przypadku urządzeń z Androidem 13 lub nowszym framework Androida zapewnia wielopoziomową kontrolę nad jasnością latarki. W Androidzie 12 i starszych framework umożliwia tylko włączenie lub wyłączenie trybu latarki. Dzięki obsłudze regulacji poziomu jasności latarki na różnych poziomach urządzenia mogą umożliwiać takie zastosowania jak sterowanie jasnością latarki na podstawie warunków oświetleniowych i wysyłanie sygnałów pomocy za pomocą efektu stroboskopowego przez wysyłanie szybkich impulsów światła z rzędu. Kolejną zaletą tej funkcji jest to, że może ona wydłużyć czas działania baterii i poprawić wydajność, ponieważ tryb latarki nie musi być zawsze włączony z maksymalną mocą, co może prowadzić do ograniczenia wydajności cieplnej.
Publiczne interfejsy API
Aplikacje mogą korzystać z funkcji sterowania jasnością latarki za pomocą tych publicznych interfejsów API i kluczy charakterystyki aparatu. Te interfejsy API nie wymagają uprawnień dostępu do aparatu, ponieważ nie jest on używany.
Interfejsy API CameraManager
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: Ustawia jasność latarki powiązanej z daną wartościącameraId
w trybie latarki. Jeśli tryb latarki jest wyłączony, a wartośćtorchStrength
jest większa lub równa1
, latarka włącza się z poziomem jasności określonym w wartościtorchStrength
.public int getTorchStrengthLevel (String cameraId)
: zwraca poziom jasności lampy błyskowej powiązanej zcameraId
.
Klucze CameraCharacteristics
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
:Maksymalny poziom jasności. HAL aparatu reklamuje tę funkcję, ustawiając wartość większą niż1
.FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: domyślny poziom jasności latarki.
Implementacja
Aby obsługiwać funkcję sterowania jasnością latarki na urządzeniu, użyj tych interfejsów AIDL HAL aparatu:
Lokalizacja: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
Upewnij się, że implementacja HAL zawiera te klucze właściwości aparatu, aby obsługiwać funkcję sterowania jasnością latarki:
Przykładową implementację komponentu HAL aparatu obsługującego kontrolę natężenia światła latarki znajdziesz w dokumentacji EmulatedCameraDeviceHWLImpl.cpp
.
Weryfikacja
Aby zweryfikować implementację funkcji sterowania jasnością latarki, uruchom te testy VTS i CTS: