我正在开发的基于语音识别的应用程序适用于从API 8(
Android 2.2)开始的所有Android版本.
但是在Nexus S 4G(Android 4.1.1)上,RecognitionListener将暂停大约1分钟,然后通过其onError()回调发出ERROR_SERVER.
如果在1-2秒内(在onReadyForSpeech哔哔声中)说话,它将按预期正常运行.
在JellyBean中有什么变化可以解释这种行为?
更重要的是,有没有办法让它像旧版本的Android一样?
(即继续听,如果没有在默认的10秒内说出,则发出ERROR_SPEECH_TIMEOUT)
解决方法
我最终使用了
@scriptocalypse建议的解决方案
谢谢@scriptocalypse!
(我没有机会尝试@HoanNguyen建议的解决方案,因为它实现的服务超出了我的小应用程序的范围,但看起来很有希望.感谢@HoanNguyen.)