首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何以编程方式启动Google Now语音搜索?

如何以编程方式启动Google Now语音搜索?
EN

Stack Overflow用户
提问于 2013-08-05 08:43:59
回答 3查看 17.9K关注 0票数 19

当用户按下一个按钮时,我想启动一个Google Now语音搜索。然而,我在文档中找不到开始搜索的意图。

有人知道如何启动 Now语音搜索的活动吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-05 14:47:32

使用ACTION_RECOGNIZE_SPEECH

代码语言:javascript
复制
private static final int RECOGNIZER_REQ_CODE = 1234;

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
startActivityForResult(intent, RECOGNIZER_REQ_CODE);

请注意,您必须使用startActivityForResult(),因为不支持startActivity()。有关详细信息,请参阅上述链接的文档。

票数 10
EN

Stack Overflow用户

发布于 2014-01-08 20:10:53

语音输入的呼叫活动:

代码语言:javascript
复制
/* Call Activity for Voice Input */
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");

try {
    startActivityForResult(intent, 1);
} catch (ActivityNotFoundException a) {
    Toast.makeText(context, "Oops! Your device doesn't support Speech to Text",Toast.LENGTH_SHORT).show();
}

以字符串形式获取输入:

(我用来在搜索视图中设置文本并搜索该值)

代码语言:javascript
复制
/* When Mic activity close */
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    switch (requestCode) {
    case 1: {
        if (resultCode == Activity.RESULT_OK && null != data) {
            String yourResult = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS).get(0);
        }
        break;
    }
    }
}
票数 11
EN

Stack Overflow用户

发布于 2014-07-04 19:27:18

您只需在Action设置为android.intent.action.VOICE_ASSIST的情况下启动一个活动,Google Now语音识别器就会弹出。使用开发人员工具尝试以下操作:

代码语言:javascript
复制
adb shell am start -a android.intent.action.VOICE_ASSIST
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18049157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档