Verifica las capacidades del dispositivo en el tiempo de ejecución para los lentes de audio y los lentes de visualización

Dispositivos de realidad extendida correspondientes
Esta guía te ayuda a crear experiencias para estos tipos de dispositivos de realidad extendida.
Lentes de audio y
pantalla

Los diferentes tipos de anteojos de audio y anteojos con pantalla tienen diferentes capacidades. Después de planificar cómo admitirás diferentes tipos de dispositivos con IA, puedes verificar las capacidades del dispositivo en el tiempo de ejecución para brindar la mejor experiencia al usuario.

Comprueba si un dispositivo tiene pantalla

Los lentes de visualización pueden mostrar IUs compiladas con Jetpack Compose Glimmer. En el siguiente ejemplo, se muestra cómo verificar si un dispositivo de anteojos tiene una pantalla:

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

Cómo reaccionar a los cambios de estado de la pantalla

En los lentes de pantalla, la pantalla puede agotarse o el usuario puede apagarla. Para diseñar actividades que se ejecuten independientemente de si la pantalla está encendida o apagada, usa addPresentationModeChangedListener para recibir notificaciones cuando cambie el estado de la pantalla. Puedes ajustar tu actividad para obtener la cantidad adecuada de información de audio según el estado de la pantalla.

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

    val areVisualsOff = !presentationModeFlags.hasPresentationMode(VISUALS_ON)
}

Mantener la pantalla encendida

En los lentes de pantalla, puedes solicitar que el sistema mantenga la pantalla encendida y evitar que se agote el tiempo de espera con addLayoutParamsFlags.

var projectedDisplayController = ProjectedDisplayController.create(activity)

projectedDisplayController.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)