URI 持久权限行为

问题描述

所以我正在测试一些 SAF,我发现 URI 上的权限行为非常不一致。 这是我的做法:

我首先使用 ACTION_OPEN_DOCUMENT_TREE 获取树 URI,并在调用意图时使用 FLAG_GRANT_WRITE_URI_PERMISSIONFLAG_GRANT_READ_URI_PERMISSIONFLAG_GRANT_PERSISTABLE_URI_PERMISSION

在 OnActivityResult 中,我还使用了 getContentResolver().takePersistableuriPermission(uri,Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION) 获取获取的 uri 的持久性。 然后我通过 uri.toString() 将此 uri 存储在 sharedpreferences 中。

现在我面临的问题是,当我从共享首选项中读取字符串化的 uri 并将其解析为 URI 然后尝试 getContentResolver().getPersistedUriPermissions(),我从那里获得的权限是随机的。有时列表是空的,有时它有正确的列表。所以我的问题归结为权限真的会持续多久?我找不到任何关于此的文档。

我正在模拟器上尝试这个。有时即使在重新启动后我也有权限,但有时我会在模拟器上长时间空闲后丢失它们(没有运行任何应用程序)。

如果我遗漏了什么,请告诉我。 提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)