0
我正在開發SpeechRecognizer Listner活動。如何在js函數中獲取SpeechRecognizer listner響應?
我從網頁視圖按鈕點擊觸發的意圖(startListning(意向))拋出的JavaScript
act.startFun();
而且startFun()方法是在我MainActivity.java文件中聲明
public void startFun(){
Log.d(TAG,"ONCLICK");
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE,"voice.recognition.test");
intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS,5);
sr.startListening(intent);
}
和我SpeechRecognizer聽者猶如
class listner implements RecognitionListener{
public void onResults(Bundle results) {
end=1;
Log.d(TAG, "onResults");
}
public void onRmsChanged(float rmsdB) {
Log.d(TAG, "onRmsChanged");
}
}
我的要求是我想通過onResults(Bundle結果)的結果字符串給我的JavaScript方法。
請有人幫助我做到這一點。
喬爾感謝您的回覆。我已經意識到這一點。看到我的帖子我已經發布了代碼act.startFun() - 哪個「行事」只是javascript接口。 – littledev
我的要求是說var response = Interface.init()。 init會調用speechRecognization,並且我需要從init()方法本身的語音列表中的onResult()方法的響應 – littledev
您的需求現在對我來說似乎有點模糊不清。但將數據發送到您的javascript的唯一方法是返回這些接口之一中的原始數據類型(或字符串)。你可以做一個loadUrl()來調用一個javascript函數,但是你不能傳遞任何參數。 – Joel