【发布时间】:2019-06-14 09:26:45
【问题描述】:
我的应用程序需要以合适的形式归档一个文件夹 Uri(来自带有 ACTION_OPEN_DOCUMENT_TREE 的 Inten 和内部已从用户选择返回给应用程序的正确标志),以便在下次运行应用程序时使用它或设备已启动(使用了 takePersistableUriPermission)。
将 Uri 路径保存为字符串似乎还不够,因为
Uri uri;
uri=Uri.parse(uriPath);
docUri= DocumentsContract.buildDocumentUriUsingTree(uri,
DocumentsContract.getTreeDocumentId(uri));
给出一个错误,比如无效的 Uri。
同时保存 Uri id 没有用。
我看到 Uri 里面有很多参数。我检查了哪些参数在我的示例 Uri 中有值,还有一些是。
所以我会知道如何保存 Uri,以便应用程序拥有重新创建它所需的所有数据,并且 DocumentsContract 类(或类似类)可以查询其参数而不会引发任何异常。
欢迎提出建议
【问题讨论】:
-
docUri = Uri.parse(uriString);(假设你已经持久化了docUri.toString()的返回值) -
@user1643723 你的建议奏效了,所以如果你希望它被接受,请发布一个答案,否则我会在几天内回复。
标签: java android uri android-permissions storage-access-framework