Speech Recognition in background doesn't work correctly!

I am making a desktop application that needs to run in the background and the user can just say “Show me dog images” and it will pull up chrome with dog images.

But every time the chrome tab appears, speech recognition doesn’t listen to user input anymore.

Sometime after the chrome tab opens I can say the command one more time and then it always stops listening after that.

I have (Run in Background) checked in player settings.

And when the application is in focus, it will continue to recognize everything I say, but once it is not in focus it doesn’t work after some time.

Please help.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Windows.Speech;
using System.Linq;

public class Recognition : MonoBehaviour

    public KeywordRecognizer keywordRecognizer;
    public Dictionary<string, System.Action> keywords = new Dictionary<string, System.Action>();

    void Start()
        keywords.Add("open unity", () => { OpenUnityMethod(); });
        keywordRecognizer = new KeywordRecognizer(keywords.Keys.ToArray());

        keywordRecognizer.OnPhraseRecognized += KeywordRecognizerOnPhraseRecognize;

    void Update()


    void KeywordRecognizerOnPhraseRecognize(PhraseRecognizedEventArgs args)

        System.Action keywordAction;

        if (keywords.TryGetValue(args.text, out keywordAction))


    void OpenUnityMethod()

I have the same problem。
Did you solve the problem?

if anyone found a solution please share