I diversi tipi di occhiali AI hanno funzionalità diverse. Dopo aver pianificato come supportare diversi tipi di dispositivi AI, puoi verificare le funzionalità del dispositivo in fase di runtime per offrire la migliore esperienza per il dispositivo di un utente.
Controllare se un dispositivo ha un display
Alcuni occhiali con AI hanno un display in cui la tua app può mostrare interfacce utente create con Jetpack Compose Glimmer. Il seguente esempio mostra come verificare se un dispositivo per occhiali ha un display:
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.
}
Reagire alle modifiche dello stato di visualizzazione
Sugli occhiali AI con display, il display può scadere o l'utente può disattivarlo. Per progettare attività che vengono eseguite indipendentemente dal fatto che il display sia acceso o spento,
utilizza addPresentationModeChangedListener per ricevere una notifica quando lo stato del display cambia. Puoi regolare l'attività per ottenere la quantità appropriata di
informazioni audio a seconda dello stato di visualizzazione.
ProjectedDisplayController.create(activity).addPresentationModeChangedListener {
presentationModeFlags ->
val areVisualsOff = !presentationModeFlags.hasPresentationMode(VISUALS_ON)
}
Tieni il display acceso
Sugli occhiali AI con display, puoi richiedere al sistema di mantenere lo schermo acceso
e impedire che si spenga utilizzando addLayoutParamsFlags.
var projectedDisplayController = ProjectedDisplayController.create(activity)
projectedDisplayController.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)