试图弄清楚这种完全混乱的作用域存储。
因此,我将App A生成的一些文件(日志)存储在下载文件夹中。
我正在使用Mediastore/ContentResolver,无论是读访问还是写访问,只要它来自App A,都没有问题。
但是,App B需要读取这些文件,问题就来了。与使用Mediastore/ContentResolver的方式相同,但文件对于查询似乎是不可见的。
Download应该是一个共享存储,但文件实际上生成为-rw-rw-这意味着其他人没有权限,这可以解释为什么应用程序B看不到来自应用程序A的文件,如果它们不在同一个组中。
存储访问框架方法能解决这个问题吗?这还没有尝试过,因为弹出系统窗口绝对不是我想要的应用程序的用户体验。
谢谢。
发布于 2021-10-17 09:51:44
如果第二个应用程序拥有MANAGE_EXTERNAL_STORAGE的“所有文件访问权限”,它还可以列出第一个应用程序的文件。
否则,您可以让第二个应用程序的用户使用存储访问框架的ACTION_OPEN_DOCUMENT选择这些文件。
你最好将你的文件存储在子目录中,因为第二个应用程序可以使用ACTION_OPEN_DOCUMENT_TREE选择完整的目录并列出所有文件。
https://stackoverflow.com/questions/69602887
复制相似问题