2

我需要在 Adob​​e Air 生成的应用程序中集成 Android 语音识别功能。为此,我围绕 Android 框架的 SpeechRecognizer 类构建了一个 ANE。

它在我的 Transformer TF300 ( 4.1.1 ) 上运行良好,但我无法让它在任何其他设备上运行。我已经尝试过使用 Acer Iconiatab A200 ( 4.0.3 ) 和 Galaxy S2 ( 2.3 )。

我总是收到以下错误:

语音搜索意图中缺少必需的额外“calling_package”。

我尝试使用intent.putExtra方法手动添加此额外内容,但没有成功。

有人有解决方案吗?

谢谢

4

1 回答 1

3

我总是像这样添加一个虚拟包。它适用于我测试过的所有手机。

这里

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);
}
于 2012-11-30T15:52:44.040 回答