เซสชัน

Session เป็นอินเทอร์เฟซหลักสำหรับฟังก์ชันการทำงานแบบพื้นที่ของแอปพลิเคชัน กิจกรรมที่แยกแยะพื้นที่แต่ละรายการต้องสร้างและเก็บอินสแตนซ์ของ Session เมื่อสร้างแล้ว แอปพลิเคชันจะใช้อินเทอร์เฟซ Session เพื่อสร้างเอนทิตีเนื้อหาที่วางตำแหน่งตามพื้นที่ เช่น แผงหรือโมเดล 3 มิติ รวมถึงตั้งค่าสภาพแวดล้อมเชิงพื้นที่ ระบุตำแหน่งของผู้ใช้ และกำหนดเนื้อหาให้สอดคล้องกับโลกแห่งความเป็นจริง

เข้าถึงเซสชันจาก Jetpack Compose สำหรับ XR

เมื่อใช้ Jetpack Compose สําหรับ XR ระบบจะสร้างเซสชันให้คุณและเข้าถึงได้โดยใช้ LocalSession.current โปรดดูตัวอย่างต่อไปนี้

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

เข้าถึงเซสชันจาก Jetpack SceneCore

หากสร้างเอนทิตีที่แยกแยะพื้นที่ได้จากคลัง SceneCore คุณจะต้องสร้างเซสชัน

การสร้างเซสชันใช้ได้ในอุปกรณ์ Android XR เท่านั้น การพยายามสร้างเซสชันในอุปกรณ์ที่เข้ากันไม่ได้จะส่งผลให้เกิดข้อผิดพลาด หากต้องการสร้างเซสชัน ให้ส่งกิจกรรมไปยังเมธอด create() ดังที่แสดงในตัวอย่างต่อไปนี้

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. */)
}

เมื่อกิจกรรมของเซสชันถูกทำลาย UI เชิงพื้นที่และเนื้อหา 3 มิติทั้งหมดที่เชื่อมโยงกับเซสชันนั้นก็จะหายไปด้วย และเซสชันจะใช้งานไม่ได้อีกต่อไป

ดูเพิ่มเติม