Session to główny interfejs funkcji przestrzennych
w Twojej aplikacji. Każda przestrzenna Activity musi utworzyć i przechowywać instancję
Session. Gdy aplikacja utworzy sesję, może używać interfejsów Session
do tworzenia przestrzennych elementów treści, takich jak panele czy modele 3D, a także
do ustawiania środowiska przestrzennego, określania pozycji użytkownika i kotwiczenia
treści w świecie rzeczywistym.
Dostęp do sesji z Jetpack Compose dla XR
Gdy używasz Jetpack Compose dla XR, sesja jest tworzona automatycznie i można uzyskać do niej
dostęp za pomocą LocalSession.current. Przyjrzyj się temu przykładowi:
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
Dostęp do sesji z Jetpack XR Runtime
Jeśli tworzysz przestrzenne elementy z biblioteki Jetpack SceneCore, musisz utworzyć sesję.
Aby utworzyć sesję, przekaż Context do metody
create(). Ten Context może być Activity na
urządzeniach XR z immersją lub urządzeniach mobilnych albo
kontekstem projekcyjnym.
Utworzenie sesji ARCore może być czasochłonne i powinno być przetwarzane w tle, jak pokazano w tym przykładzie:
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
Gdy aktywność sesji zostanie zniszczona, wszystkie przestrzenne elementy interfejsu i treści 3D powiązane z tą sesją zostaną zniszczone, a sesja stanie się nieważna.
Zobacz też
- Sprawdzanie możliwości przestrzennych
- Przechodzenie między HSM a FSM
- Dodawanie środowisk przestrzennych do aplikacji
- Dodawanie modeli 3D do aplikacji