במהלך היום, יכול להיות שהמשקפיים עם ה-AI יאבדו את החיבור למכשיר המארח (למשל, הטלפון של המשתמש), או שהמשקפיים לא יהיו זמינים באופן זמני אם המשתמש יסיר אותם. כדי להתמודד עם שינויים כאלה בזמינות המכשיר, האפליקציה יכולה להשתמש ב-API של זמינות מכשיר XR, שמאחד את אותות הזמינות של המכשיר לערכים הרגילים של Android Lifecycle.State. אפשר להשתמש בממשק ה-API הזה כדי לנהל את ניתוב האודיו, את ההפעלה באמצעות מילת הפעלה וכדי לדעת מתי צפוי קלט של משתמשים בהתאם לזמינות של משקפי ה-AI.
הסבר על מצבי מחזור החיים
בטבלה הבאה מפורט המיפוי של אותות הזמינות של המכשיר לערכים של Lifecycle.State.
מצב מחזור החיים |
סטטוס המכשיר |
תיאור |
|---|---|---|
|
תאריך היצירה |
אובייקט מחזור החיים נוצר אבל עדיין לא נצפה. |
|
לא פעיל |
השירות מחובר, אבל המשתמש לא עונד את המכשיר. |
|
פעיל |
המשתמש עונד את המכשיר. |
|
מנותק |
המכשיר מנותק או שהחיבור לשירות אבד. |
בדיקה ומעקב אחרי זמינות המכשיר
כדי לבדוק ולנטר את הזמינות של מכשיר, תשתמשו בהקשר משוער יחד עם מצב מחזור החיים כדי לקבוע איך האפליקציה צריכה לטפל בכל מקרה:
val xrDevice = XrDevice.getCurrentDevice(projectedContext) xrDevice.getLifecycle().currentStateFlow .takeWhile { it != Lifecycle.State.DESTROYED } .collect { state -> when (state) { Lifecycle.State.STARTED -> { /* Device is ACTIVE (worn) */ } Lifecycle.State.CREATED -> { /* Device is INACTIVE (not worn) */ } else -> { /* Handle other states */ } } } }
מידע חשוב על הקוד
- בדיקת החיבור: לפני שתיגשו למחזור החיים של המכשיר, התקשרו אל
ProjectedContext.isProjectedDeviceConnectedכדי לוודא שהמכשיר המוקרן מחובר למכשיר המארח. - קבלת
ProjectedContext: צריך להתקשר אלProjectedContext.createProjectedDeviceContextרק אחרי שמאמתים את החיבור, ולוודא שמעבירים את ההקשר הזה למופעXrDevice. - טיפול בביטול תוקף של הקשר: בכל פעם שמכשיר מוקרן מתחבר, נוצר
deviceIdחדש. כשהמצב מגיע ל-DESTROYED, הערך הנוכחי שלProjectedContextלא תקין. צריך להפסיק להשתמש בו באופן מיידי ולהמתין לחיבור חדש. - אופטימיזציה של הסוללה והמשאבים: טיפול חלק ב<b>תכונות האפליקציה</b> על סמך מצב מחזור החיים, כדי לשמור על משאבי המערכת ולהפחית את צריכת הסוללה. לדוגמה, צריך להפסיק להקרין תוכן של ממשק משתמש על משקפי ה-AI כשהמצב משתנה ל-
CREATED.