会话

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

从适用于 XR 的 Jetpack Compose 访问会话

使用适用于 XR 的 Jetpack Compose 时,会话将自动为您创建,并可通过 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 内容都将被销毁,并且会话将不再有效。

另请参阅