I want to get the RecognizerIntent result codes such as RESULT_SERVER_ERROR because I want to distinguish between the cases where the speech wasn't understood or no matches were found and the cases where recognition didn't occur because of connection or server problems.
When onActivityResult() executes, however, the result code is either RESULT_OK or 0. I never catch any of the various RecognizerIntent result codes. What do I need to do? Here's my code: 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, "Say something!"); startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) { // do stuff } else if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode != RESULT_OK) { // Figure out the error String err = ""; switch (resultCode) { case (RecognizerIntent.RESULT_AUDIO_ERROR): err = "Audio error"; break; case (RecognizerIntent.RESULT_CLIENT_ERROR): err = "Client error"; break; case (RecognizerIntent.RESULT_NETWORK_ERROR): err = "Network error"; break; case (RecognizerIntent.RESULT_NO_MATCH): err = "No match"; break; case (RecognizerIntent.RESULT_SERVER_ERROR): err = "Server error"; break; } } super.onActivityResult(requestCode, resultCode, data); } -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en