ARCore dla Jetpacka XR umożliwia aplikacjom korzystanie z podstawowych koncepcji rozszerzonej rzeczywistości (AR) przy użyciu prymitywnych funkcji niskiego poziomu do rozpoznawania sceny i śledzenia ruchu. Używaj ARCore w Jetpack XR podczas tworzenia doświadczeń AR, gdy musisz używać danych planarnych lub zakotwiczyć zawartość w stałym miejscu w przestrzeni.
Poznawanie cyklu życia Session
Do wszystkich obiektów śledzonych przez ARCore for Jetpack XR można uzyskać dostęp przez Session
. Podobnie jak w przypadku cyklu życia aktywności obiekty Session
również mają cykl życia, który musi być utrzymywany zgodnie z używaniem przez aplikację funkcji obiektu Session
. Jeśli Twoja aplikacja zawiera jedną aktywność z obsługą XR, rozważ zarządzanie cyklem życia Session
za pomocą elementu z obsługą cyklu życia.
Dostęp do Session
Jeśli używasz ARCore w Jetpack XR, musisz utworzyć obiekt Session
.
Jeśli używasz Jetpack Compose na potrzeby XR, kliknij LocalSession
, aby uzyskać dostęp do sesji utworzonej dla Ciebie.
Wznawianie sesji
Sesję należy wznowić, gdy aplikacja będzie gotowa do obsługi zmian stanu z ARCore dla Jetpacka XR. W większości przypadków jest to wykonywane w zwrotnym wywołaniu onResume()
aktywności, ale aplikacja może opóźnić przetwarzanie do momentu interakcji z użytkownikiem.
Poniższy fragment kodu pokazuje przykład wznowienia sesji.
when (val result = session.resume()) { is SessionResumeSuccess -> { // Session has been created successfully. // Attach any successful handlers here. } is SessionResumePermissionsNotGranted -> { // Request permissions in `result.permissions`. } }
Więcej informacji o przyczynach, dla których Session
może się nie wznowić, znajdziesz w artykule SessionResumeResult
.
Wstrzymywanie sesji
Gdy aktywność przejdzie na drugi plan, wstrzymaj Session
za pomocą [Session.pause()
][Session.pause]. Wstrzymanie sesji powoduje tymczasowe zatrzymanie śledzenia do momentu wznowienia sesji, przy zachowaniu stanu systemu percepcji.
Niszczenie sesji
Aby trwale usunąć Session
, użyj instrukcji [Session.destroy()
][Session.destroy]. Zwalnia to zasoby używane przez sesję i niszczy wszystkie stany sesji.
Zobacz również
- Praca z punktami orientacyjnymi w ARCore dla Jetpacka XR
- Praca z samolotami w Jetpack XR z wykorzystaniem ARCore
- Praca z rękami przy użyciu ARCore dla Jetpacka XR