Description
Plugin version:
Platform: Android
Plugin: @capacitor-community/speech-recognition
Plugin version: 7.0.1
Capacitor version: 7.4.0
Tested on: 3 different Android devices (Android 11 to 13)
Language: en-EN
Current behavior:
When calling SpeechRecognition.start with popup: false, the plugin does not return any partial or final results, even though speech is clearly detected.
await SpeechRecognition.start({
language: 'en-EN',
maxResults: 5,
partialResults: true,
popup: false
});
The following error messages are returned in the logs:
Sending plugin error: {"success":false,"error":{"message":"No match"}}
Sending plugin error: {"success":false,"error":{"message":"Client side error"}}
✅ What works
If I change popup: true, the plugin works as expected and correctly returns speech results.
🔍 What I’ve tried
Checked permissions via checkPermissions and requestPermissions – all granted
Tested on 3 Android phones with different OS versions (Android 11, 12, 13)
Tried with and without partialResults
Tried different languages: en-EN, ru-RU, etc.
Registered listeners for partialResults, results, and listeningState
Waited long enough after start, spoke clearly and loudly
Verified audio is picked up correctly (works with other apps and popup mode)
Expected behavior:
When popup: false is used, I expect the plugin to return results via partialResults and/or results events, as described in the documentation.
This issue reproduces 100% of the time.
If helpful, I can share adb logcat output, demo project, or screen recording.
Capacitor doctor:
insert the output from `npx cap doctor` here