我需要在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);
}

09-28 01:20