Android 现在启动谷歌还是手机默认语音搜索?

Android 现在启动谷歌还是手机默认语音搜索?,android,voice,google-now,Android,Voice,Google Now,我需要为用户提供一种方法,让他们可以从我的应用程序中启动手机语音助手,无论是Google Now还是其他任何应用程序 在搜索如何做到这一点时,我一直在寻找关于如何获得语音输入的解释,而我现在只想在“聆听”模式下启动谷歌。这个问题显然提出了同样的问题,但公认的答案解释了如何打开语音输入: 我知道这不会是一个罕见的案例,如何做到这一点呢?现在还不清楚你到底想实现什么,但我希望下面的内容会有所帮助 在中给出的代码将启动默认语音识别器(或您所说的“语音助手”) 但是,以下内容将明确打开(如果可用)谷歌

我需要为用户提供一种方法,让他们可以从我的应用程序中启动手机语音助手,无论是Google Now还是其他任何应用程序

在搜索如何做到这一点时,我一直在寻找关于如何获得语音输入的解释,而我现在只想在“聆听”模式下启动谷歌。这个问题显然提出了同样的问题,但公认的答案解释了如何打开语音输入:


我知道这不会是一个罕见的案例,如何做到这一点呢?

现在还不清楚你到底想实现什么,但我希望下面的内容会有所帮助

在中给出的代码将启动默认语音识别器(或您所说的“语音助手”)

但是,以下内容将明确打开(如果可用)谷歌的语音识别器:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.google.android.googlequicksearchbox",
        "com.google.android.googlequicksearchbox.VoiceSearchActivity");
try {
    startActivity(intent);
} catch (ActivityNotFoundException anfe) {
    Log.d(TAG, "Google Voice Search is not found");
}  

这对我来说很有用,而且看起来更直观。

链接问题中的答案非常好。据我所知,你想做两件事:1)现在启动谷歌,然后2)启动语音识别器。我今晚要试试。语音助手是否与语音识别器相同?我以为语音识别器只做语音到文本的翻译,而语音助手实际上做了你要求的事情,例如:“打电话给我妈妈”。所以我的问题基本上是,这会给我妈妈打电话吗?我没有测试,但应该测试(考虑到谷歌的语音识别器是可用的)。问题是,你的应用程序被最小化了,用户完成搜索会话后,他将不再在应用程序中。@Justin的答案并没有最小化应用程序,因此更好。如果我安装了Svoice和谷歌语音,并将Svoice设置为默认应用程序。上面的代码总是调用我的谷歌语音。为什么?您可能已将S语音设置为默认设置。您可以在您的设置中更改此设置(抱歉,我不知道如何更改)。
startActivity(new Intent(Intent.ACTION_VOICE_COMMAND).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));