استخدام وحدة الفلاش في الجهاز على حزمة تطوير البرامج (SDK) لنظام التشغيل Android (Kotlin/Java)

يمكن أن يساعد تفعيل وحدة الفلاش في الجهاز أثناء جلسة الواقع المعزّز في تحسين مستوى الرؤية.

التأكّد من أنّ إعدادات الكاميرا الحالية تتيح استخدام الفلاش

لا تتيح بعض إعدادات الكاميرا تفعيل وحدة الفلاش. قبل تفعيل الفلاش أو منح المستخدمين خيار تفعيله، تأكَّد من توفُّر وحدة الفلاش لإعدادات الكاميرة النشط:

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

فعِّل وحدة الفلاش.

فعِّل وحدة الفلاش من خلال ضبط جلسة الواقع المعزّز باستخدام Config.FlashMode.TORCH:

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

إيقاف وحدة الفلاش

أوقِف وحدة الفلاش من خلال ضبط جلسة الواقع المعزّز باستخدام Config.FlashMode.OFF:

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