با گذشت روز، ممکن است اتصال عینک هوش مصنوعی کاربر به دستگاه میزبان (مانند تلفن کاربر) قطع شود یا اگر عینک خود را بردارد، عینک او موقتاً از دسترس خارج شود. برای در نظر گرفتن این نوع تغییرات در دسترس بودن دستگاه، برنامه شما میتواند از API دسترسی به دستگاه XR استفاده کند که سیگنالهای دسترسی به دستگاه را در مقادیر استاندارد Lifecycle.State اندروید ادغام میکند. از این API برای مدیریت مسیریابی صوتی، فعالسازی کلمات کلیدی و دانستن زمان انتظار ورودی کاربر بر اساس زمان در دسترس بودن عینک هوش مصنوعی استفاده کنید.
درک وضعیتهای چرخه حیات
جدول زیر نحوه نگاشت سیگنالهای دسترسیپذیری دستگاه به مقادیر 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را فراخوانی کنید و مطمئن شوید که این context را به نمونهXrDeviceخود منتقل میکنید. - مدیریت نامعتبرسازی زمینه : هر بار که یک دستگاه پیشبینیشده متصل میشود، یک
deviceIdجدید ایجاد میشود. به محض رسیدن وضعیت بهDESTROYED،ProjectedContextفعلی نامعتبر است. فوراً استفاده از آن را متوقف کنید و منتظر اتصال جدید باشید. - بهینهسازی باتری و منابع : عملکرد برنامه را بر اساس وضعیت چرخه عمر به طور مناسب مدیریت کنید تا منابع سیستم حفظ شده و مصرف باتری کاهش یابد. به عنوان مثال، وقتی وضعیت به
CREATEDتغییر میکند، باید نمایش محتوای رابط کاربری به عینکهای هوش مصنوعی را متوقف کنید.