2012-11-28 36 views
2

我需要將Android語音識別功能集成到Adobe Air生成的應用程序中。 爲此,我圍繞Android框架的SpeechRecognizer類構建了一個ANE。Android SpeechRecognizer額外「calling_package」缺失

它的正常工作對我的變壓器TF300(4.1.1),但我不能讓任何其他設備上工作。我已經用Acer Iconiatab A200(4.0.3)和Galaxy S2(2.3)嘗試過。

我總是得到以下錯誤:

Required extra "calling_package" missing in voice search intent.

我試圖添加此額外的使用intent.putExtra方法手動,沒有任何成功。

有人有解決方法嗎?

謝謝

回答

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); 
} 
+0

奇怪它的作品!謝謝 – JBS

+0

不幸的是,這不是Android API唯一奇怪的部分。我很高興它爲你工作。 – gregm

+0

在Google Glass上運行時,嘗試修復神祕的'SpeechRecognizer.ERROR_CLIENT'錯誤......這最終修復了它!謝謝。 –