使用SAF访问Google云端硬盘时如何刷新内容

时间:2016-05-24 08:47:27

标签: android storage-access-framework

我尝试使用以下代码在我的应用中从Google云端硬盘访问PDF文件:

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("application/pdf");
startActivityForResult(intent, MY_ACTION_OPEN_DOCUMENT);

直接取自Google的文档。我能够让文件选择器出现。但是有两个问题:

  1. 无法刷新文件选择器的内容。
  2. 在我转到实际的Google云端硬盘应用并在那里进行刷新之前,新添加到Google云端硬盘帐户的文件不会显示。
  3. 我想知道我的实施中是否缺少某些内容。我试图搜索网络,并惊奇地发现没有任何相关性。更令我惊讶的是,我遇到了与gmail应用程序相同的问题。

    提前致谢。

1 个答案:

答案 0 :(得分:1)

存储访问框架确实在活动/选定的提供程序(queryDocument和queryChildDocuments)上调用回调。由Google云端硬盘文档提供商负责同步并通知SAF。 SAF甚至支持大尺寸的流文件。同步逻辑本身就是依赖于打ze模式等的实现逻辑。

在最坏的情况下,用户始终可以下拉菜单刷新文档查看器以触发相同的回调。

https://medium.com/androiddevelopers/building-a-documentsprovider-f7f2fb38e86a