没有默认的语音识别 Activity/Intent

Speech Recognition without default Activity/Intent

我目前正在使用以下代码在 phone 上获取语音:

Intent intent = new Intent( RecognizerIntent.ACTION_RECOGNIZE_SPEECH );

          intent.putExtra( RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault() );
          intent.putExtra( RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM );
          intent.putExtra( RecognizerIntent.EXTRA_PROMPT, "Say something..." );

          try
          {
            startActivityForResult( intent, RESULT_SPEECH );
          }

除了我希望能够使用我自己的屏幕获得语音外,这非常有效。上面的代码显示了某种默认的 Android activity。我想做的是显示我自己的 activity 和搜索结果列表,并能够拼出字母,直到我匹配我想要的。

例如:

  1. 按一个按钮启用语音采集
  2. 获得一个字母,说"S"
  3. 获取另一个字母,说"T"
  4. 我会显示搜索结果列表,例如 [ST]ar Wars

如何在不使用 default/system activity 的情况下获取语音,以便我可以在自己的屏幕上执行此操作?

找到方法了。 This post 是朝着正确方向迈出的重要一步。

我只需要实施 RecognitionListener