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 Session. Depois de criado, o aplicativo pode usar as interfaces Session 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:

@Composable
fun ComposableUsingSession() {
    val session = LocalSession.current
}

Acessar a sessão do Jetpack SceneCore

Se você estiver criando entidades espaciais na biblioteca SceneCore, será necessário criar a sessão.

A criação de uma sessão só é possível em um dispositivo Android XR. A tentativa de criar uma sessão em um dispositivo incompatível vai resultar em uma falha. Para criar uma sessão, transmita uma atividade ao método create(), conforme mostrado no exemplo abaixo.

when (val result = Session.create(this)) {
    is SessionCreateSuccess -> {
        val xrSession = result.session
        // ...
    }
    is SessionCreatePermissionsNotGranted ->
        TODO(/* The required permissions in result.permissions have not been granted. */)
}

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