之前的一篇文章介绍过SpeechRecognizer类,该类可以作为对外的一个接口,并通过Intent传递一个ComponentName获取可支持语音识别的功能的服务,一般的用户手机中如果安装了语音识别的一些软件,就会拥有这样的能力,但是如果开发者希望自己通过某公司的sdk集成自己的语音识别服务,那么就需要实现RecognitionService这个类。
这个类是个抽象类,需要开发者完成其中的几个抽象方法。下面的代码注释中对每个方法进行了说明。
<pre name="code" class="java">public class BDRecognitionService extends RecognitionService {
@Override
public void onCreate() {
super.onCreate();
// 在调用服务时进行一次
}
@Override
protected void onStartListening(Intent recognizerIntent, Callback mCallback) {
//这个方法具体实现了第三方sdk的接入,
//recognizerIntent 携带了上层传入的参数
//mCallback 需要将第三方sdk的结果回调给该接口,是上层与第三方sdk的桥梁
} @Override
protected void onCancel(Callback listener)
{ //注销 }
@Override
public void onDestroy()
{ //销毁 super.onDestroy(); }
@Override
protected void onStopListening(Callback listener)
{ //暂停 }}