Session
fournit l'interface principale aux fonctionnalités spatialisées de l'application. Chaque activité spatialisée doit créer et conserver une instance de session. Une fois créée, l'application peut utiliser les interfaces de session pour créer des entités de contenu spatialisées telles que des panneaux ou des modèles 3D, ainsi que pour définir un environnement spatial, identifier la position de l'utilisateur et ancrer le contenu dans le monde réel.
Accéder à la session à partir de Jetpack Compose pour XR
Lorsque vous utilisez Jetpack Compose pour XR, la session est créée pour vous et vous pouvez y accéder à l'aide de LocalSession.current
. Consultez l'exemple suivant :
import androidx.xr.compose.platform.LocalSession
class myActivity : Activity() {
val xrSession = checkNotNull(LocalSession.current)
}
Accéder à la session à partir de Jetpack SceneCore
Si vous créez des entités spatialisées à partir de la bibliothèque SceneCore, vous devez instancier la session vous-même.
La création d'une session n'est possible que sur un appareil Android XR. Pour le moment, si vous créez un Session
et que vous essayez de l'utiliser sur un appareil autre qu'Android XR, vous obtiendrez un NullPointerException
.
Vous ne pouvez créer qu'une seule session par activité. Pour créer une session, transmettez une activité à la méthode create
, comme illustré dans l'exemple suivant.
Si vous essayez de créer une session sur un appareil incompatible, des erreurs d'exécution peuvent se produire.
import androidx.xr.scenecore.Session
class myActivity : Activity() {
val xrSession = Session.create(this)
}
Lorsque l'activité d'une session est détruite, l'UI spatiale et le contenu 3D associés à cette session sont également détruits, et la session n'est plus valide.
Voir aussi
- Vérifier les fonctionnalités spatiales
- Transition entre HSM et FSM
- Ajouter des environnements spatiaux à votre application
- Ajouter des modèles 3D à votre application