SD-Card access API Android for Lollipop?



在另一个问题中

如何使用适用于Android 5.0(棒棒糖)的新SD卡访问API?

它解释了如何使用新的API访问"外部SDCard"。

但是,我如何知道结果活动中返回的实际目录?

我的意思是在功能

public void onActivityResult(int requestCode, int resultCode, Intent resultData) {
    if (resultCode == RESULT_OK) {
        Uri treeUri = resultData.getData();
        DocumentFile pickedDir = DocumentFile.fromTreeUri(this, treeUri);

......

如何获取"Uri treeUri"指向的实际路径?

谢谢弗朗西斯。

无法获取绝对路径,因为文档 API 旨在从您那里抽象出此路径。

但是,treeUri包含文件的相对路径。尝试使用 Uri#getPathSegments() 检查 Uri

使用

FileUtil.getFullPathFromTreeUri(treeUri, this)

https://github.com/jeisfeld/Augendiagnose/blob/f24ddd7d3da4df94552ca0a9e658399602855a67/AugendiagnoseIdea/augendiagnoseLib/src/main/java/de/jeisfeld/augendiagnoselib/util/imagefile/FileUtil.java

以获取完整路径。使用 分隔路径

final String[] seperated = treeUri.toString().split("\/");

以获取当前目录名称。

最新更新