在运行时检查 AI 眼镜的设备功能

不同类型的 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)