安卓Q .文件选择器安全性异常



我在Android编程方面很陌生。我想打开一个目录并获得对它的持久读取访问权限。我将标志FLAG_GRANT_PERSISTABLE_URI_PERMISSION添加到意图中。

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
startActivityForResult(Intent.createChooser(intent, null), MY_REQUEST);

onActivityResult方法上,我获取data以获得喜欢uri

Uri uri = data.getData()
cUri = DocumentsContract.buildChildDocumentsUriUsingTree(uri,
DocumentsContract.getTreeDocumentId(uri));
getContentResolver().takePersistableUriPermission(cUri,Intent.FLAG_GRANT_READ_URI_PERMISSION);

我得到了一个SecurityException: No persistable permission grants found但权限设置为intent.flag。

为什么我收到此错误以及如何避免它?

谢谢 彼得

我将标志FLAG_GRANT_PERSISTABLE_URI_PERMISSION添加到意图中

这不是该标志的用途。

在onActivityResultMethode上,我获取数据以获取类似

uri

删除cUri。将uritakePersistableUriPermission()一起使用。

最新更新