Sesión

Session proporciona la interfaz principal a la funcionalidad espacializada de la aplicación. Cada actividad espacializada debe crear y mantener una instancia de sesión. Una vez creada, la aplicación puede usar las interfaces de sesión 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:

import androidx.xr.compose.platform.LocalSession

class myActivity : Activity() {
   val xrSession = checkNotNull(LocalSession.current)
}

Accede a la sesión desde Jetpack SceneCore

Si creas entidades espacializadas a partir de la biblioteca de SceneCore, deberás crear una instancia de la sesión por tu cuenta.

La creación de una sesión solo es compatible con dispositivos Android XR. En este momento, si creas un Session y tratas de usarlo en un dispositivo que no sea Android XR, obtendrás un NullPointerException.

Solo puedes crear una sesión por actividad. Para crear una sesión, pasa una actividad al método create, como se muestra en el siguiente ejemplo. Si intentas crear una sesión en un dispositivo incompatible, es posible que se muestren errores de tiempo de ejecución.

import androidx.xr.scenecore.Session

class myActivity : Activity() {
  val xrSession = Session.create(this)
}

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