如何检查我们是否对 Android 具有特定文件 uri 权限?

How to check if we have a specific file uri permission on Android?

我遇到这种情况:

我可以检查该应用程序是否具有权限,但很有可能该路径首先不需要 READ_EXTERNAL_STORAGE(也许用户没有撤​​销权限,也许他们从来没有允许它),并且它可以被显示。 有没有办法检查我的应用程序是否具有特定文件的权限?

我试过了,但它似乎不是它的用途,它总是 returns false:

context.checkCallingUriPermission()

您应该使用 ACTION_OPEN_DOCUMENT 让用户选择一个文件。

然后在 onActivityResult() 中获取可持久化的 uri 权限。

之后您可以将 data.getData().toString() 保存到共享首选项并在应用重启后重复使用。

这一切都与读取外部存储权限无关。

您还可以请求 Android OS 获取您的应用程序的持久化列表。