Android授予读/写URI权限和文件URI
在正式文件中明确指出,Android授予读/写URI权限和文件URI,android,android-contentprovider,android-permissions,Android,Android Contentprovider,Android Permissions,在正式文件中明确指出,FLAG\u GRANT\u READ\u URI\u PERMISSION和FLAG\u GRANT\u WRITE\u URI\u PERMISSION仅用于ContentProviderURI,不适用于简单的文件URI 我在不同的非官方来源中读到,FLAG\u GRANT\u read\u URI\u PERMISSION和FLAG\u GRANT\u WRITE\u URI\u PERMISSION对简单的文件URI不起作用。简单文件URI的一个示例是由URI.fr
FLAG\u GRANT\u READ\u URI\u PERMISSION
和FLAG\u GRANT\u WRITE\u URI\u PERMISSION
仅用于ContentProvider
URI,不适用于简单的文件URI
我在不同的非官方来源中读到,FLAG\u GRANT\u read\u URI\u PERMISSION
和FLAG\u GRANT\u WRITE\u URI\u PERMISSION
对简单的文件URI不起作用。简单文件URI的一个示例是由URI.fromFile(someFile)
构造的URI。据我所知,授予URI权限仅适用于ContentProvider
URI。但我在官方文档中找不到任何与URI权限授予系统的这种行为相关的信息
和补充问题。实现
FileProvider
似乎是将文件共享到其他应用程序的唯一可靠方式?阅读了一些文章后,我在以下几个方面找到了一些说法:
而URI权限在文件://URI上不起作用,因为它是由生成的
fromFile(),它们处理与内容关联的Uri
提供者。您可以并且
应按照文件共享中的说明使用FileProvider
“正式文件中明确规定,FLAG_GRANT_READ_URI_PERMISSION和FLAG_GRANT_WRITE_URI_PERMISSION仅用于ContentProvider URI,不适用于简单的文件URI?”--我怀疑文件中是否包含这一点。“实现文件提供者似乎只是向其他应用程序共享文件的可靠方式?”——您需要强烈考虑使用<代码>内容提供者< /代码>,无论是<代码>文件提供者>代码>或其他什么。