有人可以为我可能需要使用OnProvideAssistDataListener
的真实案例提供示例。我似乎无法绕过它。我查看源代码,然后在线查看。网上有人说
Application.OnProvideAssistDataListener允许放入 捆绑你想要出现的任何东西 Intent.EXTRA_ASSIST_CONTEXT部分辅助意图
我也在阅读Intent Docs。
答案 0 :(得分:0)
Google实施了Now On Tap功能。通过长按主页按钮,您将获得屏幕上显示的一些信息。您获得的信息取决于您当时在屏幕上查看的内容。 (例如:音乐应用程序在屏幕上显示有关音乐的信息)
要向助理提供其他信息,您的应用程序通过使用 registerOnProvideAssistDataListener()注册应用程序侦听器来提供全局应用程序上下文,并通过覆盖 onProvideAssistData()和 onProvideAssistContent()。
现在,当用户激活助手时,将调用 onProvideAssistData()来构建完整的ACTION_ASSIST Intent,其中当前应用程序的所有上下文都表示为AssistStructure的一个实例。您可以覆盖此方法,将您喜欢的任何内容放入捆绑包中,以显示在辅助意图的EXTRA_ASSIST_CONTEXT部分中。
在下面的示例中,音乐应用程序提供结构化数据来描述用户当前正在查看的音乐专辑:
@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);
}
有关详细信息,请参阅https://developer.android.com/training/articles/assistant.html