不同类型的 AI 眼镜具有不同的功能。规划如何支持不同类型的 AI 设备后,您可以在运行时检查设备功能,以便为用户的设备提供最佳体验。
检查设备是否具有显示屏
部分 AI 眼镜配有显示屏,您的应用可以在该显示屏上显示使用 Jetpack Compose Glimmer 构建的界面。以下示例展示了如何检查眼镜设备是否具有显示屏:
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 眼镜,显示屏可能会超时,或者用户可以关闭显示屏。如需设计无论显示屏处于开启还是关闭状态都能运行的 activity,请使用 addPresentationModeChangedListener 在显示屏状态发生变化时收到通知。您可以根据显示状态调整 activity,以提供适当数量的音频信息。
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)