有没有办法让 Android 应用程序授予另一个应用程序访问其存储空间的权限?

Is there a way for an Android app to grant permission for another app to access it's storage?

我已经阅读了 Android 文档,我不抱希望,但我想无论如何我都会试一试。基本上,情况是我有 2 个应用程序。应用程序 A 是一个内容管理器,它在安全服务器上检查内容文件并将它们下载到 Android 设备上的存储空间。应用 B(以及以后可能需要的任何其他应用)需要查看应用 A 存储中的内容。通常 FileProvider 是我要走的路,但这样做有问题。

许多内容文件是 HTML 带有相关链接的文档。 FileProvider 不会向 App B 授予对每个链接文件的访问权限,因此链接经常被破坏。我不确定,因为这不是我的项目,是否也可以将 App A 下载到共享位置。

有没有办法:

  1. 让 App A 授予允许哪些应用读取其存储空间的权限?

  2. FileProvider 授予对目录及其所有子目录的一般读取权限?

  3. 还有什么其他人可能会想到让应用程序 B 查看应用程序 A 下载的文件?

或者正如我担心的那样,由于 Android 限制目前无法实现?

谢谢。

只要您的两个应用程序(A 和 B)都使用相同的证书签名,那么您就可以在彼此之间共享资源。这是 Play 商店中许多应用程序的常见做法。

https://developer.android.com/guide/topics/manifest/permission-element.html#plevel https://developer.android.com/guide/topics/manifest/manifest-element.html#uid