Skip to content

bug: popup: false does not work on Android #118

Open
@Andreyolex

Description

@Andreyolex

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions