Gerätefunktionen für Audio- und Displaybrillen zur Laufzeit prüfen

XR‑Geräte, für die der Leitfaden gilt
Dieser Leitfaden hilft Ihnen dabei, Erlebnisse für die folgenden Arten von XR-Geräten zu entwickeln.
Audio- &
Displaybrillen

Verschiedene Arten von Audio- und Displaybrillen haben unterschiedliche Funktionen. Nachdem Sie geplant haben, wie Sie verschiedene Arten von KI-Geräten unterstützen, können Sie zur Laufzeit die Gerätefunktionen prüfen, um die bestmögliche Nutzererfahrung auf dem Gerät eines Nutzers zu bieten.

Prüfen, ob ein Gerät ein Display hat

Auf Displaybrillen können UIs angezeigt werden, die mit Jetpack Compose Glimmer erstellt wurden. Das folgende Beispiel zeigt, wie geprüft wird, ob ein Brillen-Gerät ein Display hat:

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

Auf Änderungen des Displaystatus reagieren

Bei einer Brille mit Display kann das Display inaktiv werden oder der Nutzer kann es deaktivieren. Wenn Sie Aktivitäten entwickeln möchten, die unabhängig davon ausgeführt werden, ob das Display ein- oder ausgeschaltet ist, verwenden Sie addPresentationModeChangedListener, um benachrichtigt zu werden, wenn sich der Displaystatus ändert. Sie können Ihre Aktivität so anpassen, dass je nach Displaystatus die richtige Menge an Audioinformationen ausgegeben wird.

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

    val areVisualsOff = !presentationModeFlags.hasPresentationMode(VISUALS_ON)
}

Display eingeschaltet lassen

Bei Brillen mit Display können Sie mit addLayoutParamsFlags anfordern, dass das System das Display eingeschaltet lässt und verhindert, dass es sich nach einer bestimmten Zeit automatisch ausschaltet.

var projectedDisplayController = ProjectedDisplayController.create(activity)

projectedDisplayController.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)