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. Veja o exemplo abaixo:

@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 para o 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