【问题标题】:Starting Google Assistant / What's on my screen from onClick of button?通过单击按钮启动 Google 助理/我的屏幕上有什么?
【发布时间】:2026-01-05 10:40:01
【问题描述】:

当用户单击按钮时,我想用一个查询(或没有任何查询)启动 Google 助理,但找不到执行此任务的任何参考。 p>

我尝试调用以下函数,正如我在 Google Assistant 的文档中找到的那样,但我不明白如何将它用于我的应用程序:

@Override
public void onProvideAssistContent(AssistContent assistContent) {
  super.onProvideAssistContent(assistContent);

  String structuredJson = new JSONObject()
       .put("@type", "MusicRecording")
       .put("@id", "https://example.com/music/recording")
       .put("name", "Album Title")
       .toString();

  assistContent.setStructuredData(structuredJson);
}

即使我长按主屏幕按钮打开 Google 助理,并选择选项 我的屏幕上显示什么,它也无济于事> 它什么也没显示。

如果这不可能,我可以添加与 Long Press Home 相同的操作,即 打开 Google 助理;到我的按钮?

【问题讨论】:

  • 是什么让你认为“onProvideAssistContent()”会启动谷歌助手?考虑到该方法的文档为“您的应用可以实现 onProvideAssistContent() 以通过提供与当前活动相关的内容相关参考来改善助手用户体验。”
  • 我没想到onProvideAssistContent() 会启动谷歌助手,而是帮助谷歌助手阅读我屏幕上的内容。我想我错了。 “通过提供与当前活动相关的内容相关参考来改善助手用户体验”究竟是什么意思?在启动 Google Assistant 时,我找不到如何做到这一点。 @TimCastelijns

标签: android android-homebutton google-assistant-sdk


【解决方案1】:

此方法适用于屏幕阅读功能“我的屏幕上有什么?”它可以通过提供额外的上下文来帮助解析内容。

到目前为止,还没有可编程的方式来以正常方式激活助手。不必如此,因为该过程对用户来说很简单。

您可以为您的应用实现一个类似于助手的意图接收器,以便在用户长按时调用它。但是,它会覆盖所有应用程序,这不会是一个很好的体验。

有一个 Google Assistant SDK 可以将其嵌入到应用和设备中。您可以使用 gRPC 调用向 Google 助理发送音频或文本请求并获取响应。它只是一个网络 API,因此没有包含 UI。

【讨论】:

    最近更新 更多