如何以编程方式启动 Google Assistant?

Posted

技术标签:

【中文标题】如何以编程方式启动 Google Assistant?【英文标题】:How to start Google Assistant programmatically? 【发布时间】:2017-04-04 04:48:02 【问题描述】:

我已经尝试了所有我发现的简单组合,但不知道如何做到这一点。 我什至试图模拟家庭长按,但你现在得到谷歌的声音,看看 logcat 它显示了这个

com.google.android.googlequicksearchbox/com.google.android.apps.gsa.staticplugins.opa.OpaActivity

但不确定这是否是我正在寻找的或如何复制它。

【问题讨论】:

【参考方案1】:

这行得通:

startActivity(new Intent(Intent.ACTION_VOICE_COMMAND).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));

【讨论】:

你能问问题连同意图 ACTION_VOICE_COMMAND 吗?【参考方案2】:

所以我一直在尝试做同样的事情,当我尝试使用这样的 Intent 启动助手时发现了一些东西:

Intent launchIntent = new Intent(Intent.ACTION_VIEW);
        launchIntent.setPackage("com.google.android.googlequicksearchbox");
        launchIntent.setClassName("com.google.android.googlequicksearchbox", "com.google.android.apps.gsa.staticplugins.opa.OpaActivity");
startActivity(launchIntent);

虽然这不会引发 ActivityNotFoundException,但它会引发 Permission Denial。之所以会出现这种情况,是因为必须从上面的 googlequicksearchbox 包启动 Google Assistant。希望当/如果他们为它发布 API 时这会改变。手指交叉。

【讨论】:

是的,我已经试过了。您可以使用 ROOT 绕过它。它工作得很好,但需要root。 com.google.android.googlequicksearchbox 不是 Google 助理。它是 Google 应用。

以上是关于如何以编程方式启动 Google Assistant?的主要内容,如果未能解决你的问题,请参考以下文章

在没有 GIDSignInButton 的情况下但以编程方式启动 Google 登录

如何以编程方式在 Android 中重置 Google 广告 ID?

如何以编程方式将 Google Sheet 脚本发布/部署为 API 可执行文件?

Google 脚本 > 如何以编程方式退出单元格?

如何以编程方式访问 Google Chrome 中保存的密码?

以编程方式授予本地用户权限以使用 .Net 启动服务