会话级

Session 为应用提供空间化功能的主要接口。每个空间化 activity 都必须创建并保留一个会话实例。创建后,应用可以使用会话接口创建面板或 3D 模型等空间化内容实体,以及设置空间环境识别用户位置,并将内容锚定到现实世界。

通过 Jetpack Compose for XR 访问会话

使用适用于 XR 的 Jetpack Compose 时,系统会为您创建会话,您可以使用 LocalSession.current 访问该会话。请参阅以下示例:

import androidx.xr.compose.platform.LocalSession

class myActivity : Activity() {
   val xrSession = checkNotNull(LocalSession.current)
}

从 Jetpack SceneCore 访问会话

如果您要从 SceneCore 库创建空间化实体,则需要自行实例化会话。

仅 Android XR 设备支持创建会话。目前,如果您创建 Session 并尝试在非 Android XR 设备上使用它,则会收到 NullPointerException

您只能为每个 activity 创建一个会话。如需创建会话,请将 activity 传递给 create 方法,如以下示例所示。尝试在不兼容的设备上创建会话可能会抛出运行时错误。

import androidx.xr.scenecore.Session

class myActivity : Activity() {
  val xrSession = Session.create(this)
}

当会话的 activity 被销毁时,与该会话关联的所有空间界面和 3D 内容都会被销毁,并且该会话将失效。

另请参阅