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

Поддерживаемые XR-устройства
Это руководство поможет вам создавать контент для таких устройств.
Аудио- и
видеоочки

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

Как проверить, есть ли у устройства дисплей

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

// Check device capabilities
val projectedDeviceController = ProjectedDeviceController.create(this@ProjectedMainActivity)
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)