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)