gpt4 book ai didi

android - 如何使用 ACTION_OPEN_DOCUMENT_TREE Intent 获取真实路径?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:01:00 25 4
gpt4 key购买 nike

我的应用程序下载并解压缩特定文件夹中的文件:

output = new FileOutputStream(realpath, true);
output.write(buffer, 0, bytesRead);

ZipFile zipFile = new ZipFile(realpath);

随着新引入的 ACTION_OPEN_DOCUMENT_TREE Intent,我想为用户提供选择该文件夹的机会。

当测试在我的 onActivityResult 中接收到的值时,我得到一个类似 /tree/primary:mynewfolder 的路径,这不是像 /这样的物理真实路径sdcard/mynewfolder.

Uri treeUri = data.getData();
String sPath = treeUri.getPath();
Log.v("Path from Tree ", sPath);

我的解压方法需要真实路径:

ZipFile zipFile = new ZipFile(realpath);

如何从 Lollipop(API 21 和 22)中提供的 URI 中获取像 /sdcard/mynewfolder 这样的真实路径?

最佳答案

从URI中获取真实Path的过程与之前相同,但有一点补充:

Uri uri = data.getData();
Uri docUri = DocumentsContract.buildDocumentUriUsingTree(uri,
DocumentsContract.getTreeDocumentId(uri));
String path = getPath(this, docUri);

可以在这里找到带有中间方法的 getPath() 方法的要点:getPath()

关于android - 如何使用 ACTION_OPEN_DOCUMENT_TREE Intent 获取真实路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29713587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com