Truy cập vào một phiên để tạo giao diện người dùng và các thực thể được không gian hoá

Các thiết bị XR được hỗ trợ
Hướng dẫn này giúp bạn xây dựng các trải nghiệm cho những loại thiết bị XR sau.
Thiết bị đeo đầu XR
Kính thông minh XR có dây

Session cung cấp giao diện chính cho chức năng không gian hoá cho ứng dụng của bạn. Mỗi Activity không gian hoá phải tạo và giữ một thực thể của Session. Sau khi tạo một phiên, ứng dụng của bạn có thể sử dụng các giao diện Session để tạo các thực thể nội dung không gian như bảng điều khiển hoặc mô hình 3D, cũng như thiết lập môi trường không gian, xác định vị trí của người dùng và neo nội dung vào thế giới thực.

Truy cập vào một phiên từ Jetpack Compose cho XR

Khi bạn dùng Jetpack Compose cho XR, phiên sẽ được tạo cho bạn và bạn có thể truy cập bằng LocalSession.current. Hãy xem ví dụ sau:

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

Truy cập vào một phiên từ Jetpack XR Runtime

Nếu đang tạo thực thể không gian từ thư viện Jetpack SceneCore, bạn cần tạo một phiên.

Để tạo một phiên, hãy truyền Context đến phương thức create(). Context này có thể là Activity trên thiết bị XR sống động hoặc thiết bị di động, hoặc bối cảnh được chiếu trên Kính thông minh.

Việc tạo phiên ARCore có thể là một tác vụ tốn kém và cần được xử lý ở chế độ nền, như trong ví dụ sau:

lifecycleScope.launch {
    when (val result = Session.create(context)) {
        is SessionCreateSuccess -> {
            val xrSession = result.session
            // ...
        }
        else ->
            TODO(/* A different unhandled exception was thrown. */)
    }
}

Hàm create() có thể sử dụng tham số LifecycleOwner không bắt buộc, cho phép quản lý vòng đời của phiên bằng một LifecycleOwner khác. LifecycleOwner phải bắt đầu và kết thúc vòng đời trong phạm vi của bối cảnh được cung cấp, nếu không, Session có thể dễ bị rò rỉ.

Xem thêm