Il Session fornisce l'interfaccia principale per la funzionalità spazializzata
della tua app. Ogni Activity spazializzata deve creare e mantenere un'istanza di
Session. Dopo aver creato una sessione, l'app può utilizzare le interfacce Session
per creare entità di contenuti spazializzati come pannelli o modelli 3D, nonché
impostare un ambiente spaziale, identificare la posizione dell'utente e ancorare
i contenuti al mondo reale.
Accedere a una sessione da Jetpack Compose per XR
Quando utilizzi Jetpack Compose per XR, la sessione viene creata automaticamente e puoi
accedervi utilizzando LocalSession.current. Vedi l'esempio che segue:
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
Accedere a una sessione da Jetpack XR Runtime
Se stai creando entità spazializzate dalla libreria Jetpack SceneCore, devi creare una sessione.
Per creare una sessione, passa un Context al
create() metodo. Questo Context può essere un Activity su
dispositivi XR immersivi o dispositivi mobili oppure un
contesto proiettato.
La creazione di una sessione ARCore può essere un'attività costosa e deve essere elaborata in background, come mostrato in nell'esempio che segue:
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
Quando l'attività di una sessione viene eliminata, tutti i contenuti UI spaziali e 3D associati a quella sessione vengono eliminati e la sessione non è più valida.
Vedi anche
- Verificare le funzionalità spaziali
- Eseguire la transizione tra HSM e FSM
- Aggiungere ambienti spaziali all'app
- Aggiungere modelli 3D all'app