Session
proporciona la interfaz principal a la funcionalidad espacializada de la aplicación. Cada actividad espacializada debe crear y contener una instancia de Session
. Una vez creada, la aplicación puede usar las interfaces Session
para crear entidades de contenido espacializado, como paneles o modelos 3D, así como configurar un entorno espacial, identificar la posición del usuario y anclar el contenido al mundo real.
Cómo acceder a la sesión desde Jetpack Compose para XR
Cuando usas Jetpack Compose para XR, la sesión se crea por ti y se puede acceder a ella con LocalSession.current
. Observa el siguiente ejemplo:
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
Accede a la sesión desde Jetpack SceneCore
Si creas entidades espacializadas desde la biblioteca de SceneCore, deberás crear la sesión.
La creación de una sesión solo es compatible con un dispositivo Android XR. Si intentas crear una sesión en un dispositivo incompatible, se producirá un error. Para crear una sesión, pasa una actividad al método create
, como se muestra en el siguiente ejemplo.
when (val result = Session.create(this)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } is SessionCreatePermissionsNotGranted -> TODO(/* The required permissions in result.permissions have not been granted. */) }
Cuando se destruye la actividad de una sesión, se destruye todo el contenido 3D y de la IU espacial asociado con esa sesión, y la sesión deja de ser válida.
Consulta también
- Cómo verificar las capacidades espaciales
- Transición entre HSM y FSM
- Cómo agregar entornos espaciales a tu app
- Cómo agregar modelos 3D a tu app