我需要在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 方法手动添加此额外功能,但没有任何成功。
有人有解决方案吗?
谢谢
答案 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);
}