启动 Google 助手/单击按钮时我的屏幕上有什么?

Starting Google Assistant / What's on my screen from onClick of button?

我想在用户单击按钮时启动 Google 助手 并进行查询(或不进行任何查询),找不到任何关于执行此任务的参考。

我尝试调用以下函数,正如我在 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助手和select 选项 我的屏幕上有什么 它什么也没显示。

如果这不可能,我可以添加与 长按主页 相同的操作,即 打开Google助手;到我的按钮?

此方法用于屏幕阅读功能"What's on my screen?"它可以通过提供额外的上下文来帮助解析内容。

目前还没有以正常方式激活助手的可编程方式。它不一定是因为这个过程对用户来说很简单。

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

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