尽管这是一个简单的问题,但我在google或stackoverflow上找不到答案。
当我使用下面的代码时,我得到的结果是//com.android.externalstorage.documents/tree/primary:Podcasts
var intent = new Intent(Intent.ActionOpenDocumentTree);
intent.PutExtra("android.content.extra.SHOW_ADVANCED", true);
intent.PutExtra("android.content.extra.FANCY", true);
intent.PutExtra("android.content.extra.SHOW_FILESIZE", true);
你能帮我理解一下我的结果吗?
发布于 2018-06-24 07:56:36
安卓存储是如何工作的?
为了确保安卓应用之间的安全,安卓不会让你直接访问存储系统中的每个文件。他们有一种叫ContentProvider
的东西。
把这个内容提供者想象成一个服务生,你的应用程序可以请求某个文件/文件夹(通过内容Uri)。
Content Uri看起来像这样:content://[Authority]/[path]/[id]
只是Content Uri的一个例子。com.android.externalstorage.documents
是授权的一个例子(用于访问外部存储提供商)。
因此,在您的情况下,您的Uri将使您能够访问外部存储中的播客目录。
通过使用Uri,您可以轻松地在应用程序或服务提供商之间进行通信,而不必在每次请求或提供时都传递真实的文件。只需传递一个轻量级的简单Uri。
你的代码里发生了什么?
如果您想知道代码中发生了什么,请尝试查看Reference。
上面写着:
允许用户选择目录子树。当被调用时,系统将显示安装在设备上的各种
DocumentsProvider
实例,让用户在它们之间导航。应用程序可以完全管理返回目录中的文档。
我不确定您想要实现什么(如果可以,请澄清,这样我就可以提供帮助),但我希望我的答案包含了足够的信息。
https://stackoverflow.com/questions/51005727
复制相似问题