小编Iva*_*lov的帖子

Android 11如何获取持久文件夹权限?

我的应用程序扫描某些目录中的文本文件。用户可以点击按钮来添加目录:

val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)
intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION)
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
startActivityForResult(intent, RESULT_CODE_DOCUMENT_TREE)
Run Code Online (Sandbox Code Playgroud)

然后,我将 URI 存储在数据库中,并用于DocumentsContract扫描目录中的文件并读取它们。在应用程序启动时,我加载存储的 URI 并以与扫描文件相同的方式处理它们。

在 Android API 28 上,存储的 URI 工作正常。在 Android API 30 上,SecurityException如果我在应用程序重新启动后尝试访问其中任何一个,我会收到一个错误消息。

有没有办法让这些权限在现代 Android 上持久存在?或者我应该实施一种完全不同的方法?

android scoped-storage

2
推荐指数
1
解决办法
2796
查看次数

标签 统计

android ×1

scoped-storage ×1