1.先检测devices是否support.

PackageManager pm = getPackageManager();List<ResolveInfo> activities = pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);if (activities.size() == 0) {btnSpeak.setEnabled(false);btnSpeak.setText("Voice recognize disabled");}

2.发送intent。

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, "start");startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);} catch (Exception e) {// TODO: handle exceptione.printStackTrace();Toast.makeText(RecognizeCall.this, "Not found voice recognize devices!", Toast.LENGTH_LONG).show();}

3.获取返回的content:

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stubif (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {ArrayList<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);String result="";for (String temp : results) {result += temp + "\r\n";}}super.onActivityResult(requestCode, resultCode, data);}

权限:

<uses-permission android:name="android.permission.INTERNET"/>    <uses-permission android:name="android.permission.READ_CONTACTS"/>    <uses-permission android:name="android.permission.WRITE_CONTACTS"/>

更多相关文章

  1. Android(安卓)基于4G模块 GPS定位
  2. 获取Android应用程序的签名
  3. Java.lang.ClassNotFound Instrumentation 测试异常
  4. Android(安卓)Http 异步请求
  5. Android中Bitmap、Drawable、byte[]转换
  6. android一些技巧
  7. Delphi XE5 android 获取网络状态《转》
  8. android 打开通知栏
  9. [置顶] android调用系统相机拍照并保存在本地

随机推荐

  1. 做 Android Layout 达人~ 【首届 Google
  2. android SDK manager 提取慢或者下载慢解
  3. 手机安全卫士开发系列(7)——知识点整理(1)
  4. Android横竖屏相关
  5. ActivityManagerService 详解
  6. android 使用Monkey进行压力测试
  7. Process 'command 'C:\Users\Win\AppD
  8. Android——SQLite实现面向对象CRUD
  9. Robotium自动化测试框架使用教程
  10. Android中Canvas绘图之PorterDuffXfermod