ARCore for Jetpack XR 可讓應用程式使用低階場景理解原語元和動作追蹤,運用擴增實境 (AR) 的基本概念。在建構 AR 體驗時,如果需要使用平面資料或將內容錨定至空間中的固定位置,請使用 Jetpack XR 版 ARCore。
瞭解 Session
生命週期
所有由 ARCore for Jetpack XR 追蹤的物件,都必須透過 Session
存取。與活動生命週期類似,Session
物件也有生命週期,必須根據應用程式對 Session
物件功能的使用方式進行維護。如果應用程式包含單一支援 XR 的活動,建議您使用生命週期感知元件處理 Session
的生命週期。
存取 Session
使用 ARCore for Jetpack XR 時,必須建立 Session
。
使用 Jetpack Compose 進行 XR 時,請使用 LocalSession
存取為您建立的工作階段。
繼續執行工作階段
當應用程式準備好處理 ARCore for Jetpack XR 的狀態變更時,應恢復工作階段。在許多情況下,這項作業會在活動的 onResume()
回呼中執行,但應用程式可能會延遲處理,直到使用者互動為止。
以下程式碼片段為繼續工作階段的範例。
when (val result = session.resume()) { is SessionResumeSuccess -> { // Session has been created successfully. // Attach any successful handlers here. } is SessionResumePermissionsNotGranted -> { // Request permissions in `result.permissions`. } }
如要瞭解 Session
可能無法繼續執行的原因,請參閱 SessionResumeResult
。
暫停工作階段
當活動進入背景時,請使用 [Session.pause()
][Session.pause] 暫停 Session
。暫停工作階段會暫時停止追蹤,直到工作階段恢復為止,以維持感知系統的狀態。
摧毀工作階段
如要永久處置 Session
,請使用 [Session.destroy()
][Session.destroy]。這麼做可釋放工作階段使用的資源,並銷毀所有工作階段狀態。