Controllare le funzionalità del dispositivo in fase di runtime per gli occhiali AI

I diversi tipi di occhiali AI hanno funzionalità diverse. Dopo aver pianificato come supportare i diversi tipi di dispositivi con AI, puoi controllare le funzionalità del dispositivo in fase di runtime per offrire la migliore esperienza per il dispositivo di un utente.

Verificare se un dispositivo ha un display

Alcuni occhiali AI hanno un display su cui la tua app può mostrare UI create con Jetpack Compose Glimmer. L'esempio seguente mostra come verificare se un dispositivo con 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 del display

Sugli occhiali AI con display, il display può andare in timeout o l'utente può spegnerlo. 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 ottimizzare l'attività per la quantità appropriata di informazioni audio a seconda dello stato del display.

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

    val areVisualsOff = !presentationModeFlags.hasPresentationMode(VISUALS_ON)
}

Mantenere il display acceso

Sugli occhiali AI con display, puoi richiedere al sistema di mantenere lo schermo acceso e impedire che vada in timeout utilizzando addLayoutParamsFlags.

var projectedDisplayController = ProjectedDisplayController.create(activity)

projectedDisplayController.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)