android - URI 持久权限行为
问题描述
所以我正在测试一些 SAF,我发现 URI 上的权限行为非常不一致。这是我的做法:
ACTION_OPEN_DOCUMENT_TREE
我首先使用和使用FLAG_GRANT_WRITE_URI_PERMISSION
,FLAG_GRANT_READ_URI_PERMISSION
以及FLAG_GRANT_PERSISTABLE_URI_PERMISSION
在调用意图时获取树 URI 。
在 OnActivityResult 中,我还使用
getContentResolver().takePersistableUriPermission(uri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION)
来获取获取的 uri 的持久性。然后我将这个 uri 存储在 sharedpreferences 中uri.toString()
。
现在我面临的问题是,当我从共享首选项中读取字符串化的 uri 并将其解析为 URI 然后尝试
getContentResolver().getPersistedUriPermissions()
时,我从那里获得的权限是随机的。有时列表是空的,有时它是正确的。所以我的问题归结为权限真正持续多久?我找不到任何关于此的文档。
我正在模拟器上尝试这个。有时即使在重新启动后我也有权限,但有时我会在模拟器上长时间空闲后丢失它们(没有任何应用程序运行)。
如果我遗漏了什么,请告诉我。提前致谢。
解决方案
推荐阅读
- javascript - Moment JS天差问题
- pytorch - Bert forward 在 GPU 上报错;但在 CPU 上运行良好
- python - Python 库默认安装到 Python 2.7
- android - 将多张图片(近 100 张)从 Android 上传到 Amazon S3?
- git - Git不会将未暂存的更改移动到另一个分支
- html - 将鼠标悬停在导航栏中时不显示文本
- visual-studio - 如何减少运行 480,000 次迭代的循环的执行时间?
- python - Python中不允许前导零?
- html - 允许用户在我的 CRUD 网络应用程序(如 Stack Overflow、Medium)中的帖子中添加图像和编写代码片段
- reactjs - 如何在 React 中的状态更改时更新道具的值