在运行时检查音频眼镜和显示眼镜的设备功能

适用的 XR 设备
本指南可帮助您为以下类型的 XR 设备打造优质体验。
音频和
显示眼镜

不同类型的音频眼镜和显示眼镜具有不同的功能。在 规划如何支持不同类型的 AI 设备后,您可以在运行时检查设备功能,以便为用户的设备提供 最佳体验。

检查设备是否有显示屏

显示眼镜可以显示使用 Jetpack Compose Glimmer 构建的界面。以下示例展示了如何检查眼镜设备是否有显示屏:

// Check device capabilities
val projectedDeviceController = ProjectedDeviceController.create(this@GlassesMainActivity)
isVisualUiSupported = projectedDeviceController.capabilities.contains(CAPABILITY_VISUAL_UI)

响应显示状态变化

在显示眼镜上,显示屏可能会超时,或者用户可以关闭显示屏。如需设计在显示屏开启或关闭时运行的 activity,请使用 addPresentationModeChangedListener 在显示状态 发生变化时收到通知。您可以根据显示状态调整 activity,以提供适当的音频信息量。

ProjectedDisplayController.create(activity).addPresentationModeChangedListener {
    presentationModeFlags ->

    val areVisualsOff = !presentationModeFlags.hasPresentationMode(VISUALS_ON)
}

保持显示屏开启状态

在显示眼镜上,您可以使用 addLayoutParamsFlags 请求系统保持屏幕开启状态,并 防止屏幕超时。

var projectedDisplayController = ProjectedDisplayController.create(activity)

projectedDisplayController.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)