OnProvideAssistDataListener示例

时间:2015-08-07 21:46:51

标签: android android-intent

有人可以为我可能需要使用OnProvideAssistDataListener的真实案例提供示例。我似乎无法绕过它。我查看源代码,然后在线查看。网上有人说

  

Application.OnProvideAssistDataListener允许放入   捆绑你想要出现的任何东西   Intent.EXTRA_ASSIST_CONTEXT部分辅助意图

我也在阅读Intent Docs

1 个答案:

答案 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