繁体   English   中英

存储访问框架 - 保存Uri

[英]Storage Access Framework - Saving Uri

我的应用程序需要以合适的形式存档文件夹Uri(来自Inten with ACTION_OPEN_DOCUMENT_TREE并且其中的右侧标志已经从用户选择返回到应用程序),以便在下次运行应用程序或启动设备时使用它(takePersistableUriPermission用来)。

将Uri路径保存为字符串似乎是不够的,因为

Uri uri;
uri=Uri.parse(uriPath);
docUri= DocumentsContract.buildDocumentUriUsingTree(uri,
            DocumentsContract.getTreeDocumentId(uri));

给出一个像无效的Uri一样的错误。

保存Uri id也没用。

我看到Uri里面有很多参数。 我检查了哪些参数在我的样本Uri中有值,有些是。

因此我知道如何保存Uri以便应用程序具有重新创建它的所有必要数据,而DocumentsContract类(或类似的)可以查询其参数而不会抛出任何异常。

任何建议都是受欢迎的

归档Uri的正确方法是保存uri.toString()值。

然后检索它: uri=Uri.parse(archivedUriString);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM