On top of your android app having RECORD_AUDIO
permission, check if your Google / Google Speech Recognition & Synthesis app in the settings of your android device have both microphone and notification permissions enabled. I was missing notification permissions for Google Speech Recognition & Synthesis app that was providing SpeechRecognizer
and kept getting ERROR_INSUFFICIENT_PERMISSIONS