public
class
RecognitionService.Callback
extends Object
| java.lang.Object | |
| ↳ | android.speech.RecognitionService.Callback |
This class receives callbacks from the speech recognition service and forwards them to the
user. An instance of this class is passed to the
RecognitionService.onStartListening(Intent,Callback) method. Recognizers may call
these methods on any thread.
Public methods | |
|---|---|
void
|
beginningOfSpeech()
The service should call this method when the user has started to speak. |
void
|
bufferReceived(byte[] buffer)
The service should call this method when sound has been received. |
void
|
endOfSegmentedSession()
The service should call this method to end a segmented session. |
void
|
endOfSpeech()
The service should call this method after the user stops speaking. |
void
|
error(int error)
The service should call this method when a network or recognition error occurred. |
AttributionSource
|
getCallingAttributionSource()
Gets the permission identity of the calling app. |
int
|
getCallingUid()
Return the Linux uid assigned to the process that sent you the current transaction that is being processed. |
void
|
languageDetection(Bundle results)
The service should call this method when the language detection (and switching) results are available. |
void
|
partialResults(Bundle partialResults)
The service should call this method when partial recognition results are available. |
void
|
readyForSpeech(Bundle params)
The service should call this method when the endpointer is ready for the user to start speaking. |
void
|
results(Bundle results)
The service should call this method when recognition results are ready. |
void
|
rmsChanged(float rmsdB)
The service should call this method when the sound level in the audio stream has changed. |
void
|
segmentResults(Bundle results)
The service should call this method for each ready segment of a long recognition session. |
Inherited methods | |
|---|---|
public void beginningOfSpeech ()
The service should call this method when the user has started to speak.
| Throws | |
|---|---|
RemoteException |
|
public void bufferReceived (byte[] buffer)
The service should call this method when sound has been received. The purpose of this function is to allow giving feedback to the user regarding the captured audio.
| Parameters | |
|---|---|
buffer |
byte: a buffer containing a sequence of big-endian 16-bit integers representing a
single channel audio stream. The sample rate is implementation dependent. |
| Throws | |
|---|---|
RemoteException |
|
public void endOfSegmentedSession ()
The service should call this method to end a segmented session.
| Throws | |
|---|---|
RemoteException |
|
public void endOfSpeech ()
The service should call this method after the user stops speaking.
| Throws | |
|---|---|
RemoteException |
|
public void error (int error)
The service should call this method when a network or recognition error occurred.
errorint: code is defined in SpeechRecognizer
SpeechRecognizer.ERROR_NETWORK_TIMEOUTSpeechRecognizer.ERROR_NETWORKSpeechRecognizer.ERROR_AUDIOSpeechRecognizer.ERROR_SERVERSpeechRecognizer.ERROR_CLIENTSpeechRecognizer.ERROR_SPEECH_TIMEOUTSpeechRecognizer.ERROR_NO_MATCHSpeechRecognizer.ERROR_RECOGNIZER_BUSYSpeechRecognizer.ERROR_INSUFFICIENT_PERMISSIONSSpeechRecognizer.ERROR_TOO_MANY_REQUESTSSpeechRecognizer.ERROR_SERVER_DISCONNECTEDSpeechRecognizer.ERROR_LANGUAGE_NOT_SUPPORTEDSpeechRecognizer.ERROR_LANGUAGE_UNAVAILABLESpeechRecognizer.ERROR_CANNOT_CHECK_SUPPORTSpeechRecognizer.ERROR_CANNOT_LISTEN_TO_DOWNLOAD_EVENTS| Throws | |
|---|---|
RemoteException |
|
public AttributionSource getCallingAttributionSource ()
Gets the permission identity of the calling app. If you want to attribute
the mic access to the calling app you can create an attribution context
via Context.createContext(android.content.ContextParams)
and passing this identity to android.content.ContextParams.Builder.setNextAttributionSource(AttributionSource).
| Returns | |
|---|---|
AttributionSource |
The permission identity of the calling app.
This value cannot be null. |
public int getCallingUid ()
Return the Linux uid assigned to the process that sent you the current transaction that
is being processed. This is obtained from Binder.getCallingUid().
| Returns | |
|---|---|
int |
|
public void languageDetection (Bundle results)
The service should call this method when the language detection (and switching)
results are available. This method can be called on any number of occasions
at any time between beginningOfSpeech() and endOfSpeech(),
depending on the speech recognition service implementation.
| Parameters | |
|---|---|
results |
Bundle: the returned language detection (and switching) results.
To retrieve the most confidently detected language IETF tag
(as defined by BCP 47, e.g., "en-US", "de-DE"),
use To retrieve the language detection confidence level represented by a value
prefixed by To retrieve the alternative locales for the same language
retrieved by the key To retrieve the language switching results represented by a value
prefixed by |
public void partialResults (Bundle partialResults)
The service should call this method when partial recognition results are available. This
method can be called at any time between beginningOfSpeech() and
results(Bundle) when partial results are ready. This method may be called zero,
one or multiple times for each call to SpeechRecognizer.startListening(Intent),
depending on the speech recognition service implementation.
| Parameters | |
|---|---|
partialResults |
Bundle: the returned results. To retrieve the results in
ArrayList<String> format use Bundle.getStringArrayList(String) with
SpeechRecognizer.RESULTS_RECOGNITION as a parameter |
| Throws | |
|---|---|
RemoteException |
|
public void readyForSpeech (Bundle params)
The service should call this method when the endpointer is ready for the user to start speaking.
| Parameters | |
|---|---|
params |
Bundle: parameters set by the recognition service. Reserved for future use. |
| Throws | |
|---|---|
RemoteException |
|
public void results (Bundle results)
The service should call this method when recognition results are ready.
| Parameters | |
|---|---|
results |
Bundle: the recognition results. To retrieve the results in ArrayList<String> format use Bundle.getStringArrayList(String) with
SpeechRecognizer.RESULTS_RECOGNITION as a parameter |
| Throws | |
|---|---|
RemoteException |
|
public void rmsChanged (float rmsdB)
The service should call this method when the sound level in the audio stream has changed. There is no guarantee that this method will be called.
| Parameters | |
|---|---|
rmsdB |
float: the new RMS dB value |
| Throws | |
|---|---|
RemoteException |
|
public void segmentResults (Bundle results)
The service should call this method for each ready segment of a long recognition session.
| Parameters | |
|---|---|
results |
Bundle: the recognition results. To retrieve the results in ArrayList<String> format use Bundle.getStringArrayList(String) with
SpeechRecognizer.RESULTS_RECOGNITION as a parameter.
This value cannot be null. |
| Throws | |
|---|---|
RemoteException |
|
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2026-02-26 UTC.