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

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

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

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

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

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

فعِّل وحدة الفلاش من خلال ضبط جلسة الواقع المعزّز باستخدام 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 })
}

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

أوقِف وحدة الفلاش من خلال ضبط جلسة الواقع المعزّز باستخدام 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 })