Android Continuous speech recognition returns ERROR_NO_MATCH too quickly

This is a known bug, which I filed a report on. You can reproduce the issue using this simple gist.

The only way around it, is to recreate the SpeechRecognizer object every time. see edit. This causes other issues, as mentioned in the gist, but none that will cause a problem for your app.

Google will eventually find a way to prevent continuous listening, as it's not what the API was designed for. You're better off looking at PocketSphinx as a long term option.

EDIT 22.06.16 - With the most recent Google release, the behaviour has changed for the worse. A new solution is linked from the gist which subclasses the RecognitionListener to only react to 'genuine' callbacks.

EDIT 01.07.16" - See this question for another new bug