0
我正在使用Android語音識別意圖,但我想知道用戶設置了什麼語言來進行識別。 RecognizerIntent上的文檔暗示您可以從意圖數據中獲得此信息,但我一直收到空。Android語音識別 - 使用語言
這些值在調用意圖時可用嗎?是否有另一種獲取這些數據的方法?
下面是如何調用的意圖:
private void startVoiceRecognitionActivity() {
Logger.i(AppConfig.LOGTAG, "startVoiceRecognitionActivity");
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "speech recognition demo");
startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
}
而我得到的結果是這樣的:
/**
* Handle the results from the recognition activity.
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {
Logger.i(AppConfig.LOGTAG, "EXTRA_LANGUAGE = "+data.getStringExtra(RecognizerIntent.EXTRA_LANGUAGE));
Logger.i(AppConfig.LOGTAG, "EXTRA_LANGUAGE_MODEL = "+data.getStringExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL));
Logger.i(AppConfig.LOGTAG, "EXTRA_LANGUAGE_PREFERENCE = "+data.getStringExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE));
} else {
Toast.makeText(getApplicationContext(), "Voice recognition failed.", Toast.LENGTH_LONG).show();
}
super.onActivityResult(requestCode, resultCode, data);
}
我試着用所提出的解決方案,但似乎不起作用:顯示的使用語言總是設備和從來沒有的默認語言語言由'EXTRA_LANGUAGE'選項設置。爲什麼? – enzom83 2012-03-11 23:19:20