Çalışma zamanında yapay zeka destekli akıllı gözlükler için cihaz kullanılabilirliğini kontrol etme

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

INITIALIZED

Oluşturuldu

Yaşam döngüsü nesnesi oluşturuldu ancak henüz gözlemlenmedi.

CREATED

Etkin değil

Hizmet bağlı ancak kullanıcı cihazı takmıyor.

STARTED

Etkin

Kullanıcı, cihazı takıyor olmalıdır.

DESTROYED

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.isProjectedDeviceConnected işlevini çağırın.
  • ProjectedContext: Yalnızca bağlantıyı doğruladıktan sonra ProjectedContext.createProjectedDeviceContext numaralı 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 deviceId oluşturulur. Durum DESTROYED'ya ulaştığında mevcut ProjectedContext geç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 CREATED olarak değiştiğinde yapay zeka gözlüklerine kullanıcı arayüzü içeriği yansıtmayı durdurmanız gerekir.