Session
为应用提供空间化功能的主要接口。每个空间化 activity 都必须创建并保留 Session
的实例。创建后,应用可以使用 Session
接口创建空间化内容实体(例如面板或 3D 模型),以及设置空间环境、识别用户位置,并将内容锚定到现实世界。
从 Jetpack Compose for XR 访问会话
使用 Jetpack Compose for XR 时,系统会为您创建会话,您可以使用 LocalSession.current
访问该会话。请参阅以下示例:
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
从 Jetpack SceneCore 访问会话
如果您要从 SceneCore 库创建空间化实体,则需要创建会话。
仅 Android XR 设备支持创建会话。尝试在不兼容的设备上创建会话将导致失败。如需创建时段,请将 activity 传递给 create
方法,如以下示例所示。
when (val result = Session.create(this)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } is SessionCreatePermissionsNotGranted -> TODO(/* The required permissions in result.permissions have not been granted. */) }
当会话的 activity 被销毁时,与该会话关联的所有空间界面和 3D 内容都会被销毁,并且该会话将失效。