Проверка возможностей устройства во время выполнения для аудио- и видеоочков

Применимые устройства XR
Данное руководство поможет вам создавать приложения для устройств XR такого типа.
Аудио и
Очки для демонстрации

Различные типы аудио- и дисплейных очков обладают разными возможностями. После планирования поддержки различных типов устройств с искусственным интеллектом , вы можете проверять возможности устройства во время выполнения, чтобы обеспечить наилучшее взаимодействие с устройством пользователя.

Проверьте, есть ли у устройства дисплей.

Очки с дисплеем могут отображать пользовательские интерфейсы, созданные с помощью Jetpack Compose Glimmer . В следующем примере показано, как проверить, есть ли у очков дисплей:

// Check device capabilities
val projectedDeviceController = ProjectedDeviceController.create(this@GlassesMainActivity)
isVisualUiSupported = projectedDeviceController.capabilities.contains(CAPABILITY_VISUAL_UI)

Реагируйте на изменения состояния дисплея.

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

ProjectedDisplayController.create(activity).addPresentationModeChangedListener {
    presentationModeFlags ->

    val areVisualsOff = !presentationModeFlags.hasPresentationMode(VISUALS_ON)
}

Оставьте дисплей включенным.

На очках с дисплеем можно запросить у системы постоянное включение экрана и предотвращение его отключения по истечении времени ожидания, используя addLayoutParamsFlags .

var projectedDisplayController = ProjectedDisplayController.create(activity)

projectedDisplayController.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)