我的应用程序需要以适当的格式存档文件夹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
类(或类似类)可以查询其参数而不会引发任何异常。
欢迎任何建议
答案 0 :(得分:0)
归档Uri的正确方法是保存uri.toString()
值。
然后检索它:uri=Uri.parse(archivedUriString);