Różne typy okularów AI mają różne możliwości. Po zaplanowaniu sposobu obsługi różnych typów urządzeń z AI możesz w czasie działania sprawdzać możliwości urządzenia, aby zapewnić użytkownikowi jak najlepsze wrażenia.
Sprawdzanie, czy urządzenie ma wyświetlacz
Niektóre okulary z AI mają wyświetlacz, na którym aplikacja może wyświetlać interfejsy utworzone za pomocą Jetpack Compose Glimmer. Poniższy przykład pokazuje, jak sprawdzić, czy urządzenie z okularami ma wyświetlacz:
val projectedDeviceController = ProjectedDeviceController.create(activity)
if (projectedDeviceController.capabilities.contains(CAPABILITY_VISUAL_UI)) {
// Set up UX state machine for AI glasses that have a display.
} else {
// Set up UX state machine for AI glasses that don't have a display.
}
Reagowanie na zmiany stanu wyświetlacza
W przypadku okularów z AI z wyświetlaczem wyświetlacz może się wyłączyć po upływie określonego czasu lub użytkownik może go wyłączyć. Aby zaprojektować działania, które będą wykonywane niezależnie od tego, czy wyświetlacz jest włączony czy wyłączony, użyj addPresentationModeChangedListener, aby otrzymywać powiadomienia o zmianach stanu wyświetlacza. Możesz dostosować aktywność do odpowiedniej ilości informacji audio w zależności od stanu wyświetlacza.
ProjectedDisplayController.create(activity).addPresentationModeChangedListener {
presentationModeFlags ->
val areVisualsOff = !presentationModeFlags.hasPresentationMode(VISUALS_ON)
}
Pozostaw włączony wyświetlacz
W przypadku okularów AI z wyświetlaczem możesz poprosić system o utrzymanie włączonego ekranu i zapobiec jego wyłączeniu po upływie określonego czasu, używając addLayoutParamsFlags.
var projectedDisplayController = ProjectedDisplayController.create(activity)
projectedDisplayController.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)