onCreate:
try{
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);//通过Intent传递语音识别的模式,开启语音
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);//语言模式和自由形式的语音识别
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,"开始语音");//提示语音开始
startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);//开始执行我们的Intent、语音识别
}catch (ActivityNotFoundException e){//如果找不到设置,就会抛出ActivityNotFoundException
Toast.makeText(test.this,"ActivityNotFoundException", Toast.LENGTH_LONG).show(); //找不到语音设备装置
}
onActivityResult:
if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK){
// 判断是否是我们执行的语音识别
ArrayList<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);// 取得语音的字符
//设置视图更新
//mList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,results));
String resultsString = "";
for (int i = 0; i < results.size(); i++){
resultsString += results.get(i);
}
Toast.makeText(this, resultsString, Toast.LENGTH_LONG).show();
}