Die Session bietet die primäre Schnittstelle zu den räumlichen Funktionen für deine App. Jede räumliche Activity muss eine Instanz von Session erstellen und enthalten. Nachdem Ihre App eine Sitzung erstellt hat, kann sie die Session-Schnittstellen verwenden, um räumliche Inhaltsentitäten wie Panels oder 3D-Modelle zu erstellen, eine räumliche Umgebung festzulegen, die Nutzerposition zu ermitteln und Inhalte in der realen Welt zu verankern.
Auf eine Sitzung von Jetpack Compose for XR zugreifen
Wenn Sie Jetpack Compose for XR verwenden, wird die Sitzung für Sie erstellt und kann über LocalSession.current aufgerufen werden. Siehe folgendes Beispiel:
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
Über die Jetpack XR-Laufzeit auf eine Sitzung zugreifen
Wenn Sie räumliche Entitäten aus der Jetpack SceneCore-Bibliothek erstellen, müssen Sie eine Sitzung erstellen.
Wenn Sie eine Sitzung erstellen möchten, übergeben Sie ein Context an die Methode create(). Dieser Context kann ein Activity auf immersiven XR-Geräten oder Mobilgeräten oder ein projizierter Kontext auf Smart Glasses sein.
Das Erstellen einer ARCore-Sitzung kann eine ressourcenintensive Aufgabe sein und sollte im Hintergrund verarbeitet werden, wie im folgenden Beispiel gezeigt:
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
Die Funktion create() kann einen optionalen Parameter LifecycleOwner verwenden, mit dem der Lebenszyklus der Sitzung von einem anderen LifecycleOwner verwaltet werden kann. Der Lebenszyklus des LifecycleOwner muss innerhalb des bereitgestellten Kontexts beginnen und enden, da es sonst zu Lecks im Session kommen kann.
Weitere Informationen
- Räumliche Funktionen prüfen
- Übergang zwischen HSM und FSM
- Räumliche Umgebungen zu Ihrer App hinzufügen
- 3D-Modelle zu Ihrer App hinzufügen