Используйте флэш-накопитель устройства в Android SDK (Kotlin/Java).

Включение вспышки устройства во время сеанса AR может помочь улучшить видимость.

Убедитесь, что текущая конфигурация камеры поддерживает вспышку.

Не все конфигурации камер поддерживают включение вспышки. Прежде чем включать вспышку или предлагать пользователям возможность включения вспышки, убедитесь, что вспышка доступна для активной конфигурации камеры:

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

Включите вспышку

Включите вспышку, настроив сеанс AR с помощью Config.FlashMode.TORCH :

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

Отключите вспышку

Отключите вспышку, настроив сеанс AR с помощью Config.FlashMode.OFF :

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