Użyj jednostki flash urządzenia w pakiecie Android SDK (Kotlin/Java).

Włączenie lampy błyskowej urządzenia podczas sesji AR może poprawić wyniki widoczność.

Sprawdź, czy bieżąca konfiguracja aparatu obsługuje lampę błyskową

Nie wszystkie konfiguracje aparatu umożliwiają włączenie lampy błyskowej. Przed włączeniem lampy błyskowej lub zaoferowaniem jej użytkownikom upewnij się, że lampa błyskowa jest dostępna dla aktywnej kamery Konfiguracja:

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

Włącz lampę błyskową

Włącz jednostkę Flash, konfigurując sesję AR za pomocą Config.FlashMode.TORCH:

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 })
}

Wyłącz lampę błyskową

Wyłącz jednostkę flash, konfigurując sesję AR za pomocą Config.FlashMode.OFF:

Java

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

Kotlin

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