Sessão

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