オーディオ グラスとディスプレイ グラスのデバイス機能を実行時に確認

対象となる XR デバイス
このガイダンスは、次のようなタイプの XR デバイス向けのエクスペリエンスを構築する際に役立ちます。
オーディオ グラスと
ディスプレイ グラス

オーディオ グラスとディスプレイ グラスは、タイプによって機能が異なります。さまざまなタイプの AI デバイスをサポートする方法を計画したら、実行時にデバイスの機能を確認して、ユーザーのデバイスに最適な エクスペリエンスを提供できます。

デバイスにディスプレイがあるかどうかを確認する

ディスプレイ グラスには、Jetpack Compose Glimmer で作成された UI を表示できます。次の例は、グラス型デバイスにディスプレイがあるかどうかを確認する方法を示しています。

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