Session 提供應用程式空間化功能的主要介面。每個空間化 Activity 都必須建立並保留 Session 的執行個體。應用程式建立工作階段後,即可使用 Session 介面建立空間化內容實體 (例如面板或 3D 模型),以及設定空間環境、識別使用者位置,並將內容錨定至現實世界。
從適用於 XR 的 Jetpack Compose 存取工作階段
使用 Jetpack Compose for XR 時,系統會為您建立工作階段,並可使用 LocalSession.current 存取。請參閱以下範例:
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
從 Jetpack XR 執行階段存取工作階段
如要透過 Jetpack SceneCore 程式庫建立空間化實體,您需要建立工作階段。
如要建立工作階段,請將活動傳遞至 create() 方法,如下列範例所示:
when (val result = Session.create(this)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) }
工作階段的活動遭到刪除時,與該工作階段相關聯的所有空間 UI 和 3D 內容都會遭到刪除,且工作階段會失效。