ARCore para Jetpack XR permite que las apps funcionen con conceptos básicos de la realidad aumentada (RA), a través de primitivas de comprensión de escenas de bajo nivel y seguimiento de movimiento. Usa ARCore para Jetpack XR cuando crees experiencias de RA y necesites usar datos planares o fijar contenido a una ubicación fija en el espacio.
Comprende el ciclo de vida de Session
Se debe acceder a todos los objetos a los que hace un seguimiento ARCore para Jetpack XR a través de un Session
. Al igual que el ciclo de vida de una actividad, los objetos Session
también tienen un ciclo de vida que se debe mantener según el uso que haga tu app de las funciones de un objeto Session
. Si tu app contiene una sola actividad habilitada para XR, considera controlar el ciclo de vida de Session
con un componente que priorice el ciclo de vida.
Cómo acceder a un Session
Se debe crear un Session
cuando se usa ARCore para Jetpack XR.
Cuando uses Jetpack Compose para XR, usa LocalSession
para acceder a la sesión que se crea por ti.
Cómo reanudar una sesión
Se debe reanudar una sesión cuando tu app esté lista para controlar los cambios de estado de ARCore para Jetpack XR. En muchos casos, esto se hace en la devolución de llamada onResume()
de tu actividad, pero es posible que tu app desee retrasar el procesamiento hasta que el usuario interactúe.
En el siguiente fragmento de código, se muestra un ejemplo de cómo reanudar una sesión.
when (val result = session.resume()) { is SessionResumeSuccess -> { // Session has been created successfully. // Attach any successful handlers here. } is SessionResumePermissionsNotGranted -> { // Request permissions in `result.permissions`. } }
Consulta SessionResumeResult
para conocer los motivos por los que un Session
podría no reanudarse.
Cómo pausar una sesión
Cuando tu actividad pase a segundo plano, pausa el Session
con [Session.pause()
][Session.pause]. Si pausas una sesión, se detendrá temporalmente el seguimiento hasta que se reanude, lo que mantendrá el estado del sistema de percepción.
Cómo destruir una sesión
Para descartar un Session
de forma permanente, usa [Session.destroy()
][Session.destroy]. Esto libera los recursos que usa la sesión y destruye todos sus estados.
Consulta también
- Cómo trabajar con anclas con ARCore para Jetpack XR
- Cómo trabajar con planos con ARCore para Jetpack XR
- Cómo trabajar con manos usando ARCore para Jetpack XR