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
- Verificar os recursos espaciais
- Transição entre HSM e FSM
- Adicionar ambientes espaciais ao app
- Adicionar modelos 3D ao app