* Copyright (C) 2008 The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at** http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*/package com.example.android.apis.app;import com.example.android.apis.R;import android.app.Activity;import android.content.Intent;import android.content.pm.PackageManager;import android.content.pm.ResolveInfo;import android.os.Bundle;import android.speech.RecognizerIntent;import android.view.View;import android.view.View.OnClickListener;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ListView;import java.util.ArrayList;import java.util.List;/*** Sample code that invokes the speech recognition intent API.*/public class VoiceRecognition extends Activity implements OnClickListener {private static final int VOICE_RECOGNITION_REQUEST_CODE = 1234;private ListView mList;/*** Called with the activity is first created.*/@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// Inflate our UI from its XML layout description.setContentView(R.layout.voice_recognition);// Get display items for later interactionButton speakButton = (Button) findViewById(R.id.btn_speak);mList = (ListView) findViewById(R.id.list);// Check to see if a recognition activity is presentPackageManager pm = getPackageManager();List activities = pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);if (activities.size() != 0) {speakButton.setOnClickListener(this);} else {speakButton.setEnabled(false);speakButton.setText("Recognizer not present");}}/*** Handle the click on the start recognition button.*/public void onClick(View v) {if (v.getId() == R.id.btn_speak) {startVoiceRecognitionActivity();}}/*** Fire an intent to start the speech recognition activity.*/private void startVoiceRecognitionActivity() {Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo");startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);}/*** Handle the results from the recognition activity.*/@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {// Fill the list view with the strings the recognizer thought it could have heardArrayList matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);mList.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1,matches));}super.onActivityResult(requestCode, resultCode, data);}} 


更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. android多分辨力支持 密度与分辨力
  2. Android所需的Java基础知识体系图
  3. 我的Android读书笔记——(1)
  4. Android 自定义view组件
  5. ActivityThread
  6. Android(安卓)开机动画客制化
  7. Android NDK学习 Android.mk的制作
  8. Android Graphics专题(1)--- Canvas基础
  9. android是什么?
  10. android开发笔记之 Activity四种加载模式