Vérifier les capacités de l'appareil au moment de l'exécution pour les lunettes audio et les lunettes avec écran

Appareils XR concernés
Ces conseils vous aident à créer des expériences pour ces types d'appareils XR.
Lunettes audio et
Display

Les lunettes audio et les lunettes avec écran ont des fonctionnalités différentes. Après avoir planifié la façon dont vous allez prendre en charge différents types d'appareils d'IA, vous pouvez vérifier les capacités de l'appareil au moment de l'exécution pour offrir la meilleure expérience possible à l'utilisateur.

Vérifier si un appareil dispose d'un écran

Les lunettes peuvent afficher des UI créées avec Jetpack Compose Glimmer. L'exemple suivant montre comment vérifier si un appareil de type lunettes dispose d'un écran :

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

Réagir aux changements d'état de l'affichage

Sur les lunettes connectées, l'écran peut se mettre en veille ou l'utilisateur peut l'éteindre. Pour concevoir des activités qui s'exécutent que l'écran soit allumé ou éteint, utilisez addPresentationModeChangedListener pour être averti lorsque l'état de l'écran change. Vous pouvez ajuster votre activité pour obtenir la quantité appropriée d'informations audio en fonction de l'état de l'écran.

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

    val areVisualsOff = !presentationModeFlags.hasPresentationMode(VISUALS_ON)
}

Laissez l'écran allumé.

Sur les lunettes avec écran, vous pouvez demander au système de maintenir l'écran allumé et d'empêcher son extinction à l'aide de addLayoutParamsFlags.

var projectedDisplayController = ProjectedDisplayController.create(activity)

projectedDisplayController.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)