and*_*per 5 android android-6.0-marshmallow google-assist-api
我开发的应用程序可以回答某些查询(电话号码查询,也可能是其他查询).
Google在Android 6上引入了一项名为"Google Now On Tap"的新功能(AKA"Assist API"),允许用户查询屏幕上显示的内容(通过长按主页按钮或说出什么东西),不需要输入任何东西.
谷歌在这里提供了开发人员教程
我找不到任何代码片段来展示如何为它准备应用程序.
我注意到的只有我可以从Application类扩展,并在其中添加OnProvideAssistDataListener,并注册到它.
但是,它打开了很多关于如何做到这一点的问题.
可悲的是,因为这个话题很新,我几乎找不到任何关于它的内容,所以我想在这里提出问题.
1)这个新功能是否有任何样本或至少更详细的教程?
2)在文档中说:
在大多数情况下,实施辅助功能支持将使助手能够获得所需的信息.这包括提供android:contentDescription属性,为自定义视图填充AccessibilityNodeInfo,确保自定义ViewGroup正确地公开其子项,并遵循"使应用程序可访问"中描述的最佳实践.
为什么以及如何使用应用程序的辅助功能?与公开子视图(或视图)有什么关系?如果应用程序还没有运行,它甚至可能是关于视图的(因为该功能在任何应用程序,任何地方都被激活).
我认为仅当前景应用程序是我的应用程序时才会调用它,但如果是这样,我如何实际提供针对所有应用程序显示的查询,具体取决于输入内容?
3)从Application扩展的类是否应该实现OnProvideAssistDataListener?如果是这样,为什么需要注册呢?如果没有,Google-Now-On-Tap如何使用呢?它不能只打开所有具有这类课程的应用程序,看看它们是否注册...
4)文档有一个我不明白的样本片段:
@Override
public void onProvideAssistContent(AssistContent assistContent) {
super.onProvideAssistContent(assistContent);
String structuredJson = new JSONObject()
.put("@type", "MusicRecording")
.put("@id", "example.comhttps://example.com/music/recording")
.put("name", "Album Title")
.toString();
assistContent.setStructuredData(structuredJson);
}
Run Code Online (Sandbox Code Playgroud)
新功能对每个键有什么作用?是应用程序还是Google-Now-On-Tap?我有什么选择呢?这是我在哪里定义我的应用程序是否可以处理该功能建议我的内容?AssistContent应该是我看到的输入,并决定我的应用程序是否可以处理它或忽略它?
| 归档时间: |
|
| 查看次数: |
424 次 |
| 最近记录: |