Les lunettes d'IA ont des capacités différentes selon leur type. 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
Certaines lunettes IA sont dotées d'un écran sur lequel votre application peut 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 :
val projectedDeviceController = ProjectedDeviceController.create(activity)
if (projectedDeviceController.capabilities.contains(CAPABILITY_VISUAL_UI)) {
// Set up UX state machine for AI glasses that have a display.
} else {
// Set up UX state machine for AI glasses that don't have a display.
}
Réagir aux changements d'état de l'affichage
Sur les lunettes d'IA dotées d'un écran, 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 IA dotées d'un é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)