Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android授予读/写URI权限和文件URI_Android_Android Contentprovider_Android Permissions - Fatal编程技术网

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?”--我怀疑文件中是否包含这一点。“实现文件提供者似乎只是向其他应用程序共享文件的可靠方式?”——您需要强烈考虑使用<代码>内容提供者< /代码>,无论是<代码>文件提供者>代码>或其他什么。