某些设备(如Samsung Galaxy S3)已预先安装了Samsung powered by Vlingo而不是Google Voice Search。
在我的应用中,我想以编程方式覆盖要使用的语音识别引擎,以便我的应用始终使用Google语音搜索。
所以我的问题是:
帮助将不胜感激
答案 0 :(得分:5)
你所有问题的答案都是“是”。
可以为createSpeechRecognizer指定要使用的识别器的包名称。因此,如果您知道包名称,则可以覆盖默认值。
要检测可用服务,请使用:
List<ResolveInfo> services =
getPackageManager().queryIntentServices(
new Intent(RecognitionService.SERVICE_INTERFACE), 0);
有关详细信息,请参阅Babble的源代码。我不知道这是否是最好的方法(欢迎任何反馈),但它已在我的设备上工作。 (Babble通常假设Android 4+,但语音识别器检测部分也可能适用于早期版本。)