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:

JavaKotlin
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;
}
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:

JavaKotlin
if (flashAvailable) {
  Config config = session.getConfig();
  config.setFlashMode(Config.FlashMode.TORCH);
  session.configure(config);
}
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:

JavaKotlin
Config config = session.getConfig();
config.setFlashMode(Config.FlashMode.OFF);
session.configure(config);
session.configure(session.config.apply { flashMode = Config.FlashMode.OFF })