Android 13 veya sonraki sürümleri çalıştıran cihazlarda Android çerçevesi, fener gücü için çok düzeyli kontrol sağlar. Android 12 ve önceki sürümlerde çerçeve yalnızca el feneri modunu açma veya kapatmaya izin verir. Cihazlar, çok seviyeli el feneri gücü kontrolünü destekleyerek el fenerinin parlaklığını ışık koşullarına göre kontrol etme ve art arda hızlı ışık darbeleri göndererek yardım sinyali gönderme gibi kullanım alanlarını etkinleştirebilir. Bu özelliğin bir diğer avantajı da, el feneri modunun her zaman maksimum güçte açılmasına gerek olmadığı için pil ömrünü ve performansı iyileştirebilmesidir. Bu durum, termal güç kısıtlamasına yol açabilir.
Herkese Açık API'ler
Uygulamalar, aşağıdaki herkese açık API'ler ve kamera özellikleri anahtarları aracılığıyla el feneri gücü kontrol özelliğini kullanabilir. Kameraya erişilmediği için bu API'ler için kamera izni gerekmez.
CameraManager API'leri
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
:cameraId
değeriyle ilişkili el feneri modundaki el fenerinin parlaklık düzeyini ayarlar. El feneri modu kapalıysa vetorchStrength
,1
değerinden büyük veya eşitse el feneri,torchStrength
değerinde belirtilen güç seviyesinde açılır.public int getTorchStrengthLevel (String cameraId)
:cameraId
ile ilişkili flaş biriminin parlaklık düzeyini döndürür.
CameraCharacteristics anahtarları
FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
: Maksimum parlaklık düzeyi. Kamera HAL'i,1
değerinden büyük bir değer ayarlayarak bu özelliğin reklamını yapar.FLASH_INFO_STRENGTH_DEFAULT_LEVEL
: Varsayılan el feneri parlaklık düzeyi.
Uygulama
Cihazınızda el feneri gücü kontrol özelliğini desteklemek için aşağıdaki kamera AIDL HAL arayüzlerini kullanın:
Konum: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl
HAL uygulamanızın, el feneri parlaklık kontrolü özelliğini desteklemek için aşağıdaki kamera özellikleri anahtarlarının reklamını yaptığından emin olun:
Flaş gücü kontrolünü destekleyen Kamera HAL uygulaması için bkz. EmulatedCameraDeviceHWLImpl.cpp
.
Doğrulama
Fener gücü kontrol özelliğini uygulamanızı doğrulamak için aşağıdaki VTS ve CTS testlerini çalıştırın:
- VTS:
/camera/provider/aidl/vts/VtsAidlHalCameraProvider\_TargetTest.cpp
- CTS:
/platform/cts/tests/camera/src/android/hardware/camera2/cts/FlashlightTest.java