O Session
fornece a interface principal para a funcionalidade espacializada
do aplicativo. Cada atividade espacializada precisa criar e manter uma instância
de sessão. Depois de criado, o aplicativo pode usar as interfaces de sessão para
criar entidades de conteúdo espacializadas, como painéis ou modelos 3D, além de
definir um ambiente espacial,
identificar a posição do usuário
e fixar o conteúdo no mundo real.
Acessar a sessão do Jetpack Compose para XR
Ao usar o Jetpack Compose para XR, a sessão é criada para você e pode ser
acessada usando LocalSession.current
. Confira este exemplo:
import androidx.xr.compose.platform.LocalSession
class myActivity : Activity() {
val xrSession = checkNotNull(LocalSession.current)
}
Acessar a sessão do Jetpack SceneCore
Se você estiver criando entidades espacializadas na biblioteca SceneCore, será necessário instanciar a sessão.
A criação de uma sessão só é possível em um dispositivo Android XR. No momento, se
você criar uma Session
e tentar usá-la em um dispositivo que não seja Android XR, vai receber uma
NullPointerException
.
Só é possível criar uma sessão por atividade. Para criar uma sessão, transmita uma
atividade para o método create
, conforme mostrado no exemplo abaixo.
Tentar criar uma sessão em um dispositivo incompatível pode gerar erros de execução.
import androidx.xr.scenecore.Session
class myActivity : Activity() {
val xrSession = Session.create(this)
}
Quando a atividade de uma sessão é destruída, toda a interface espacial e o conteúdo 3D associado a essa sessão são destruídos e a sessão deixa de ser válida.
Veja também
- Verificar os recursos espaciais
- Transição entre HSM e FSM
- Adicionar ambientes espaciais ao app
- Adicionar modelos 3D ao app