访问下载文件夹中另一个应用程序的文件 - Android 10+

Access files of another App inside the Download folder - Android 10+

试图弄清这堆乱七八糟的范围存储。

所以我将 App A 生成的一些文件(日志)存储在下载文件夹中。

我正在使用 Mediastore/ContentResolver,只要它来自应用程序 A,无论是读访问还是写访问都没有问题。

但是App B需要读取这些文件,问题就来了。 使用 Mediastore/ContentResolver 的方法相同,但文件对于查询似乎不可见。

下载应该是共享存储,但文件确实生成为 -rw-rw--- 这意味着没有其他权限,这可以解释为什么 App B 看不到来自 App A 的文件,如果它们不是同组。

存储访问框架方法可以解决这个问题吗? 我还没有尝试过,因为弹出系统 window 绝对不是我想要的应用程序用户体验。

谢谢。

如果第二个应用程序有 'all files access' 和 MANAGE_EXTERNAL_STORAGE 它也可以列出第一个应用程序的文件。

否则,您可以让第二个应用程序的用户使用存储访问框架的 ACTION_OPEN_DOCUMENT 选择那些文件。

您最好将文件存储在子目录中,这样第二个应用程序可以使用 ACTION_OPEN_DOCUMENT_TREE 选择完整目录并列出所有文件。