Los diferentes tipos de anteojos de IA tienen diferentes capacidades. Después de planificar cómo admitirás diferentes tipos de dispositivos de IA, puedes verificar las capacidades del dispositivo en el tiempo de ejecución para brindar la mejor experiencia para el dispositivo de un usuario.
Cómo verificar si un dispositivo tiene una pantalla
Algunos anteojos de IA tienen una pantalla en la que tu app puede mostrar UIs 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 anteojos de IA con una pantalla, esta puede agotarse o el usuario puede apagarla. Para diseñar actividades que se ejecuten sin importar si la pantalla está encendida o apagada,
usa addPresentationModeChangedListener para recibir una notificación 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)
}
Cómo mantener la pantalla encendida
En los anteojos de IA con una 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)