استخدام وحدة الفلاش في الجهاز على حزمة تطوير البرامج (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 })