Android SpeechRecognizer额外的“calling_package”缺失

时间:2012-11-28 15:14:15

标签: android speech-recognition

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

它在我的Transformer TF300上工作正常( 4.1.1 ),但我无法在任何其他设备上运行。我曾尝试使用Acer Iconiatab A200( 4.0.3 )和Galaxy S2( 2.3 )。

我总是收到以下错误:

  

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

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

有人有解决方案吗?

谢谢

1 个答案:

答案 0 :(得分:3)

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

请参阅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);
}