2014-05-03 9 views
6

Google'ın GDK'sı ile bağlamsal ses komutlarını uygulamaya koymanın bir yolunu ararken, bu post numaralı telefona rastladım. Yine de, örnek kod yalnızca XE16 + 'da değil XE12'de çalışmaktadır. Bu kodu son zamanlarda test ettim, ancak onVoiceCommand(...) yönteminin, ilgili bir Etkinliğin ömrü boyunca yalnızca adı verilen adı verilir. Beklentim, kullanıcının ses komutunun birden çok kez alınabilmesi, yani bir kullanıcının bir başka Aktiviteden diğerine döndürülmesidir.Glass/GDK tabanlı VoiceListener neden XE16'da bir kez VoiceCommand yakalar?

ben bile henüz hiçbir başarı, Aktivite onPause(...) ve onResume(...) yöntemle arka plana geçtiğinde dahili VoiceInputHelper GDKs için Aktivite ve/veya Dinleyici kaldırıp tekrar eklemeniz çalıştı. VoiceCommand'ların bir olaydan sonra neden "gitmiş" olduğuna ve "yeniden etkinleştirilebilmelerine" nasıl yardımcı olabilecekleri hakkında herhangi bir yardımcı fikir var mı?

Fikirlerinizi/çözümlerinizi bir Cam aygıtım olduğu gibi test edebilirim ve girişleri hızlı bir şekilde doğrularım.

+0

Daha fazla kod yazmalısınız. Android yaşam döngüsünü incelemeyi ve dinleme kaynağını onun aracılığıyla yönetmeyi denediniz mi? Öğeyi bir OnPause'da öldürürseniz ve bunu yeniden başlatırsanız düşünüyorum, işler sizin için işe yarayabilir. Sorununuz, onCreate'da kod koyan ve bir Etkinlik yeniden başlatıldığında onCreate çağrılmadığını bilmeyen biri gibi geliyor. –

+0

Orijinal gönderiimde bağlı olarak, kod şu adreste bulunabilir: http://stackoverflow.com/questions/21168267. Gördüğünüz gibi "onResume (...)" yöntemleri kullanılır ... ve denir. Bir Debugger kullanarak kontrol ettim;) – MWiesner

cevap

4

Orijinal örneğinin stackoverflow.com/questions/21168267 adresinde küçük bir değişiklik yapması gerekiyor: null sürekli çalışması için onVoiceCommand() numaralı telefondan iade edilmelidir.

+0

Cevabınız için teşekkürler! Bu, burada yardımcı olur: XE16.x üzerinde test edilmiş ve onaylanmış bir çözüm - belki bir sonraki sürümlerdeki Google kullanıcıları tarafından değiştirilebilir, bu nedenle gelecekte "dönüşün boş" değerinin değişebileceğini unutmayın. – MWiesner

+0

Hala XE18.11'de çalışıyor - Sadece çözümü sınayın; Gerekli olan tek adaptasyon, dahili GlassVoice.apk cihazının mevcut versiyonunda tekrar cihazın kendisinden alınmasıydı. Kod örneği geri kalanı çalışma zamanında iyi çalışıyor gibi görünüyor. – MWiesner

İlgili konular