我在我的应用程序中实现了SAF(存储访问框架)。我正在三星nexus 10上运行我的应用程序。它安装了Dropbox。但我无法在我的应用程序中看到dropbox。所以我的问题是:
Dropbox是否注册到SAF? 如果是,还有别的吗,我需要在我的应用程序中将dropbox作为根文件夹之一提供吗?
目前,在我的应用中,我看到 - Google云端硬盘,图片,下载为我的根文件夹
答案 0 :(得分:4)
我找到答案,你应该用:
启动你的意图Intent i = new Intent(Intent.ACTION_GET_CONTENT);
我还在测试我的应用是否使用Intent.CATEGORY_OPENABLE
。但是这个意图显示了丢弃框。
你可以在这里找到它:
https://developer.android.com/guide/topics/providers/document-provider.html#client
答案 1 :(得分:0)
TalkLittle已经提供了指向forum post的链接,该链接清楚地表明对提供SAF访问权限不感兴趣。
正如Budius指出的那样,您可以(可能)通过使用ACTION_GET_CONTENT目的读取文件。
但是,根据您的目标是什么,请注意documentation所说的话:
如果您希望您的应用仅读取/导入数据,请使用ACTION_GET_CONTENT。通过这种方法,应用程序可以导入数据的副本,例如图像文件。 如果希望您的应用对文件提供者拥有的文件具有长期,持久的访问权限,请使用ACTION_OPEN_DOCUMENT。一个照片编辑应用程序就是一个示例,该应用程序允许用户编辑存储在文档提供程序中的图像。
使用“打开文档”意图,还可以将修改后的文件写回,而“获取内容”则不会。可能有解决方法,但并非像“打开文档”意图那样简单。