9

我正在将文档访问框架与我的云存储访问应用程序集成。使用文档,我已经能够访问该文件并检索它(我只是使用 Gmail 应用程序的附加功能来检查这一点)。

我现在正在尝试查找如何使用相同的方法保存文件(通过应用程序直接将文件保存到云存储)并且我已经完成了以下更改:

对于 getRoots 调用,

row.add(Root.COLUMN_FLAGS, Root.FLAG_SUPPORTS_CREATE);

而且我也覆盖了该createDocument方法。

我没有看到太多关于如何执行此操作的示例代码或文档。我还看到像“照片”应用程序这样的一堆应用程序有“共享”按钮,它们使用不同的方法(日志显示 miniShareActivity),而我的应用程序没有显示出来(看起来它使用了不同的文件共享机制)

我正在寻找有关信息

  1. 如何使用 SAF 存储文件(任何示例文件都很好或指向文档)。我假设它将允许用户使用选择器界面导航到文件夹并存储文件。

  2. 如何让应用程序显示在应用程序的“Minishare 活动”列表中以将文件导入应用程序(看起来它不提供选择器界面,但我仍然想提供支持,以便将文件保存到默认位置)

4

1 回答 1

0

您在其他应用程序中引用的共享按钮可能使用ACTION_SEND作为 Intent 操作,而不是随存储访问框架引入的ACTION_CREATE_DOCUMENT

您可能希望同时支持两者,因为 ACTION_CREATE_DOCUMENT 仅在 KitKat 中引入,而较旧的应用程序可能不知道它。同样,您可能还希望支持 Intent 操作 ACTION_GET_CONTENT 以在 KitKat 之前的设备上进行读取访问(在 KitKat+ 上运行时,ACTION_GET_CONTENT 由 SAF 处理,但在 KitKat 之前的设备上运行时,您的应用仍需要处理它)。您的 AndroidManifest 中的 s 是否<intent-filter>设置为匹配所有这些 Intent 类型?

于 2015-06-11T05:22:52.463 回答