如何以编程方式启动 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 可执行文件?