Cihazın Android SDK (Kotlin/Java) flaş birimini kullanın

Bir AR oturumu sırasında cihazın flaş birimini etkinleştirmek, görünürlüğü iyileştirmeye yardımcı olabilir.

Mevcut kamera yapılandırmasının flaşları destekleyip desteklemediğini kontrol etme

Bazı kamera yapılandırmaları flaş birimini etkinleştirmeyi desteklemez. Flaşın etkinleştirilmesinden veya kullanıcılara flaşı etkinleştirme seçeneği sunulmasından önce, flaş birimin etkin kamera yapılandırmasında kullanılabildiğinden emin olun:

Java

boolean flashAvailable;
try {
  CameraManager cameraManager =
      (CameraManager) context.getSystemService(Context.CAMERA_SERVICE);

  CameraCharacteristics characteristics =
      cameraManager.getCameraCharacteristics(session.getCameraConfig().getCameraId());
  flashAvailable = characteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);
} catch (Exception e) {
  flashAvailable = false;
}

Kotlin

val flashAvailable =
  runCatching {
      val cameraManager = context.getSystemService(Context.CAMERA_SERVICE) as CameraManager
      val characteristics = cameraManager.getCameraCharacteristics(session.cameraConfig.cameraId)
      characteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE)
    }
    .getOrNull() ?: false

Flaş birimini etkinleştirme

AR oturumunu Config.FlashMode.TORCH ile yapılandırarak flaş birimini etkinleştirin:

Java

if (flashAvailable) {
  Config config = session.getConfig();
  config.setFlashMode(Config.FlashMode.TORCH);
  session.configure(config);
}

Kotlin

if (flashAvailable) {
  session.configure(session.config.apply { flashMode = Config.FlashMode.TORCH })
}

Flaş birimini devre dışı bırakma

AR oturumunu Config.FlashMode.OFF ile yapılandırarak flaş birimini devre dışı bırakın:

Java

Config config = session.getConfig();
config.setFlashMode(Config.FlashMode.OFF);
session.configure(config);

Kotlin

session.configure(session.config.apply { flashMode = Config.FlashMode.OFF })