Сеанс

Session обеспечивает основной интерфейс для пространственных функций приложения. Каждое пространственное действие должно создавать и хранить экземпляр сеанса. После создания приложение может использовать интерфейсы сеанса для создания пространственных объектов контента, таких как панели или 3D-модели, а также задавать пространственную среду , определять положение пользователя и привязывать контент к реальному миру.

Доступ к сеансу из Jetpack Compose для XR

При использовании Jetpack Compose для XR сеанс создается для вас, и доступ к нему можно получить с помощью LocalSession.current . См. следующий пример:

import androidx.xr.compose.platform.LocalSession

class myActivity : Activity() {
   val xrSession = checkNotNull(LocalSession.current)
}

Доступ к сеансу из Jetpack SceneCore

Если вы создаете пространственные объекты из библиотеки SceneCore, вам потребуется создать экземпляр сеанса самостоятельно.

Создание сеанса поддерживается только на устройстве Android XR. В настоящее время, если вы создадите Session и попытаетесь использовать его на устройстве, отличном от Android XR, вы получите исключение NullPointerException .

Для каждого действия можно создать только один сеанс. Чтобы создать сеанс, передайте действие методу create , как показано в следующем примере. Попытка создать сеанс на несовместимом устройстве может привести к ошибкам времени выполнения.

import androidx.xr.scenecore.Session

class myActivity : Activity() {
  val xrSession = Session.create(this)
}

Когда активность сеанса уничтожается, весь пространственный пользовательский интерфейс и трехмерное содержимое, связанное с этим сеансом, уничтожаются, и сеанс становится недействительным.

См. также