不同類型的 AI 眼鏡具備不同功能。規劃如何支援不同類型的 AI 裝置後,您可以在執行階段檢查裝置功能,為使用者的裝置提供最佳體驗。
檢查裝置是否配備螢幕
部分 AI 眼鏡配備螢幕,應用程式可在螢幕上顯示以 Jetpack Compose Glimmer 建構的 UI。以下範例說明如何檢查眼鏡裝置是否具備螢幕:
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.
}
回應顯示狀態變更
在搭載螢幕的 AI 眼鏡上,螢幕可能會逾時或由使用者關閉。如要設計活動,讓活動在螢幕開啟或關閉時都能執行,請使用 addPresentationModeChangedListener,在螢幕狀態變更時收到通知。您可以根據顯示狀態調整活動,取得適量的音訊資訊。
ProjectedDisplayController.create(activity).addPresentationModeChangedListener {
presentationModeFlags ->
val areVisualsOff = !presentationModeFlags.hasPresentationMode(VISUALS_ON)
}
螢幕長亮模式
在搭載螢幕的 AI 眼鏡上,你可以使用 addLayoutParamsFlags 要求系統保持螢幕開啟,避免螢幕逾時。
var projectedDisplayController = ProjectedDisplayController.create(activity)
projectedDisplayController.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)