Controllare le funzionalità del dispositivo in fase di runtime per occhiali audio e occhiali con display

Dispositivi XR applicabili
Queste indicazioni ti aiutano a creare esperienze per questi tipi di dispositivi XR.
Audio e
occhiali con display

Diversi tipi di occhiali audio e occhiali con display hanno funzionalità diverse. Dopo aver pianificato come supportare diversi tipi di dispositivi AI, puoi controllare 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

Gli occhiali con display possono mostrare UI create con Jetpack Compose Glimmer. L'esempio seguente mostra come verificare se un dispositivo per occhiali ha un display:

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

Reagire alle modifiche dello stato di visualizzazione

Sugli occhiali con display, il display può andare in timeout o l'utente può disattivarlo. Per progettare attività che vengono eseguite indipendentemente dallo stato di accensione o spegnimento del display, 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 del display.

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

    val areVisualsOff = !presentationModeFlags.hasPresentationMode(VISUALS_ON)
}

Tieni il display acceso

Sugli occhiali con display, puoi richiedere al sistema di mantenere lo schermo attivo e impedire che si spenga utilizzando addLayoutParamsFlags.

var projectedDisplayController = ProjectedDisplayController.create(activity)

projectedDisplayController.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)