Kullanıcı gün içinde yapay zeka destekli akıllı gözlüklerini kullanırken, gözlüklerinin ana cihazla (ör. kullanıcının telefonu) bağlantısı kesilebilir veya gözlükleri geçici olarak kullanılamayabilir. Cihaz kullanılabilirliğindeki bu tür değişiklikleri hesaba katmak için uygulamanız, cihaz kullanılabilirlik sinyallerini standart Android Lifecycle.State değerlerinde birleştiren XR Device Availability API'yi kullanabilir. Ses yönlendirmeyi, özel kelime etkinleştirmeyi yönetmeye yardımcı olmak ve yapay zeka destekli akıllı gözlüklerin ne zaman kullanılabileceğine bağlı olarak kullanıcı girişinin ne zaman bekleneceğini öğrenmek için bu API'yi kullanın.
Yaşam döngüsü durumlarını anlama
Aşağıdaki tabloda, cihaz kullanılabilirlik sinyallerinin Lifecycle.State değerleriyle nasıl eşlendiği listelenmektedir.
Yaşam döngüsü durumu |
Cihaz durumu |
Açıklama |
|---|---|---|
|
Oluşturuldu |
Yaşam döngüsü nesnesi oluşturuldu ancak henüz gözlemlenmedi. |
|
Etkin değil |
Hizmet bağlı ancak kullanıcı cihazı takmıyor. |
|
Etkin |
Kullanıcı, cihazı takıyor olmalıdır. |
|
Bağlı değil |
Cihazın bağlantısı kesildiğinde veya hizmet bağlantısı kaybolduğunda |
Cihaz kullanılabilirliğini kontrol etme ve izleme
Bir cihazın kullanılabilirliğini kontrol etmek ve izlemek için, uygulamanızın her durumu nasıl ele alması gerektiğini belirlemek üzere yaşam döngüsü durumuyla birlikte öngörülen bir bağlam kullanırsınız:
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 */ } } } }
Kodla ilgili önemli noktalar
- Bağlantı olup olmadığını kontrol edin: Cihaz yaşam döngüsüne erişmeden önce, yansıtılan cihazın ana cihaza bağlı olduğunu doğrulamak için
ProjectedContext.isProjectedDeviceConnectedişlevini çağırın. ProjectedContext: Yalnızca bağlantıyı doğruladıktan sonraProjectedContext.createProjectedDeviceContextnumaralı telefonu arayın ve bu bağlamıXrDeviceörneğinize ilettiğinizden emin olun.- Bağlam geçersiz kılmayı işleme: Yansıtılan bir cihaz her bağlandığında yeni bir
deviceIdoluşturulur. DurumDESTROYED'ya ulaştığında mevcutProjectedContextgeçersiz olur. Hemen kullanmayı bırakın ve yeni bir bağlantı bekleyin. - Pili ve kaynakları optimize etme: Sistem kaynaklarını korumak ve pil tüketimini azaltmak için uygulama işlevselliğini yaşam döngüsü durumuna göre düzgün bir şekilde yönetin. Örneğin, durum
CREATEDolarak değiştiğinde yapay zeka gözlüklerine kullanıcı arayüzü içeriği yansıtmayı durdurmanız gerekir.