package com.android.speech; import java.util.ArrayList; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.speech.RecognizerIntent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button start=(Button) findViewById(R.id.start); start.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.start: try { Intent intent = new Intent( RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "开启语音"); startActivityForResult(intent, 10); } catch (Exception e) { Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_LONG).show(); } break; default: break; } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub if (10 == requestCode && resultCode == RESULT_OK) { Toast.makeText(MainActivity.this, "返回结果正常", Toast.LENGTH_LONG).show(); ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); //获取语言的字符 //如果是页面的话,可以更新到页面 每个字母一列 // ListView lv = new ListView(null); // // lv.setAdapter(new ArrayAdapter<String>(this, R.layout.main, result)); String resultString=""; //组成字符串 for (int i=0;i<result.size();i++) { resultString +=result.get(i); } Toast.makeText(MainActivity.this, resultString, Toast.LENGTH_LONG).show(); } super.onActivityResult(requestCode, resultCode, data); } }