How do the android.speech package classes work?
<p>In the <a href="http://developer.android.com/reference/android/speech/package-summary.html" rel="nofollow"><code>android.speech</code></a> package there are some classes for speech recognition. I read <a href="http://developer.android.com/resources/articles/speech-input.html" rel="nofollow">this article</a> and I created a simple application that send an <code>Intent</code> in order to start a speech recognition activity: in this way I created an example of speech recognition application and I only used <a href="http://developer.android.com/reference/android/speech/RecognizerIntent.html" rel="nofollow"><code>RecognizerIntent</code></a> constants.</p>

<p>Inside the <code>android.speech</code> package there are also other classes: why? What are their roles?</p>

<p>For example, the <code>RecognitionService</code> class is the base class for recognition service implementations, so <em>if I wish to implement a new speech recognizer</em>, then it should extend this class. In this case, what does it mean? Should I use this class if I would implement a new speech recognizer engine without using Google's Voice Recognition engine?</p>

<p>And what about the <a href="http://developer.android.com/reference/android/speech/SpeechRecognizer.html" rel="nofollow"><code>SpeechRecognizer</code></a> class?</p>
