ARCore per Jetpack XR consente alle app di utilizzare i concetti di base della realtà virtuale (AR), utilizzando primitive di comprensione della scena di basso livello e il monitoraggio dei movimenti. Utilizza ARCore per Jetpack XR quando crei esperienze AR e devi utilizzare dati planari o ancorare i contenuti a una posizione fissa nello spazio.
Informazioni sul ciclo di vita di Session
Per accedere a tutti gli oggetti monitorati da ARCore per Jetpack XR è necessario un
Session
. Analogamente al ciclo di vita di un'attività, anche gli oggetti Session
hanno un ciclo di vita che deve essere gestito in base all'utilizzo delle funzionalità di un oggetto Session
da parte della tua app. Se la tua app contiene una singola attività compatibile con la realtà virtuale,
valuta la possibilità di gestire il ciclo di vita di Session
utilizzando un componente consapevole del ciclo di vita.
Accedere a un Session
Quando utilizzi ARCore per Jetpack XR, devi creare un Session
.
Quando utilizzi Jetpack Compose per XR, usa LocalSession
per accedere alla sessione creata per te.
Riprendere una sessione
La ripresa di una sessione deve essere eseguita quando l'app è pronta a gestire le modifiche dello stato
da ARCore per Jetpack XR. In molti casi, questa operazione viene eseguita nel callback
onResume()
dell'attività, ma l'app potrebbe voler ritardare
l'elaborazione fino all'interazione dell'utente.
Il seguente snippet di codice mostra un esempio di ripresa di una sessione.
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
per i motivi per cui la ripresa di un Session
potrebbe non riuscire.
Mettere in pausa una sessione
Quando l'attività passa in background, metti in pausa Session
utilizzando
[Session.pause()
][Session.pause]. La messa in pausa di una sessione interrompe temporaneamente il monitoraggio
fino a quando la sessione non viene ripresa, mantenendo lo stato del sistema di percezione.
Terminare una sessione
Per eliminare definitivamente un Session
, utilizza
[Session.destroy()
][Session.destroy]. In questo modo vengono liberate le risorse in uso dalla sessione e vengono distrutti tutti gli stati della sessione.
Vedi anche
- Lavorare con gli ancoraggi utilizzando ARCore per Jetpack XR
- Lavorare con i piani utilizzando ARCore per Jetpack XR
- Lavorare con le mani utilizzando ARCore per Jetpack XR