为什么Android(Jelly Bean)会忽略一个额外的识别器意图(Kõ;nele)?
我安装开源()是为了研究如何编写和注册定制语音识别服务。作为第一步,在深入研究源代码之前,我试图验证它是否确实如我所期望的那样工作。因此,我转到手机的为什么Android(Jelly Bean)会忽略一个额外的识别器意图(Kõ;nele)?,android,android-intent,android-4.2-jelly-bean,Android,Android Intent,Android 4.2 Jelly Bean,我安装开源()是为了研究如何编写和注册定制语音识别服务。作为第一步,在深入研究源代码之前,我试图验证它是否确实如我所期望的那样工作。因此,我转到手机的系统设置语言和输入语音识别器,并选择Kõnele作为系统的识别器: 然后,我在手机中尝试了各种应用程序,在键盘上显示麦克风选项,希望当我触摸麦克风符号时,会使用Kõnele。然而,系统总是弹出谷歌内置的语音搜索 为什么呢 我是否错过了(作为用户)需要配置的其他设置以使其正常工作 这是安卓操作系统的“按设计”限制吗 有没有可能告诉Android总是
系统设置
语言和输入
语音识别器
,并选择Kõnele作为系统的识别器:
然后,我在手机中尝试了各种应用程序,在键盘上显示麦克风选项,希望当我触摸麦克风符号时,会使用Kõnele。然而,系统总是弹出谷歌内置的语音搜索
为什么呢
我是否错过了(作为用户)需要配置的其他设置以使其正常工作
这是安卓操作系统的“按设计”限制吗
有没有可能告诉Android总是使用不同的识别器,而不是谷歌语音搜索?如果是,怎么做
更新:我设法找到了一个似乎没有忽略其他识别器意图的应用程序:谷歌地图:
对我来说,这表明这与Android的意图解析有关。但是,为什么有些应用程序不会触发“使用完成操作”对话框,而谷歌地图会触发?我认为作为一个用户,您已经做了一切可以做的事情,但是想要使用语音识别器的应用程序当然可以忽略您的配置。例如,它可以通过如下方式构造识别器,直接选择特定的语音识别器实现:
SpeechRecognizer.createSpeechRecognizer(this,
new ComponentName("com.google",
"com.google.Recognizer");
);
在这种情况下,您唯一的选择是卸载或禁用此特定实现,并希望应用程序返回到常规方法:
SpeechRecognizer.createSpeechRecognizer(this);
不幸的是,谷歌在某个时候开始推广应用程序直接链接到谷歌语音识别器的想法(请参阅)。现在很多键盘应用程序都能做到这一点(例如),而你唯一的选择就是找到一个不
也可能是应用程序发送了一个Kõnele不支持的意图(支持的意图在中列出),但在语音识别应用程序中支持该意图是有意义的。在这种情况下,这将是对Kõnele的特性请求