我需要在adobe air生成的应用程序中集成android语音识别功能。
为此,我围绕android框架的speechrecognizer类构建了一个ane。
它在我的变压器tf300(4.1.1)上运行良好,但我不能让它在任何其他设备上运行。我用Acer Iconiatab A200(4.0.3)和Galaxy S2(2.3)都试过了。
我总是得到以下错误:
语音搜索意图中缺少所需的额外“呼叫包”。
我试图使用intent.puttextra方法手动添加这个额外的,但没有成功。
有人有办法吗?
谢谢你
最佳答案
我总是添加一个这样的虚拟包。它适用于我测试过的所有手机。
见here
public void recognizeDirectly(Intent recognizerIntent)
{
// SpeechRecognizer requires EXTRA_CALLING_PACKAGE, so add if it's not
// here
if (!recognizerIntent.hasExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE))
{
recognizerIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE,
"com.dummy");
}
SpeechRecognizer recognizer = getSpeechRecognizer();
recognizer.startListening(recognizerIntent);
}