在android中找不到下载管理器下载的文件

tha*_*had 5 android android-download-manager

我正在尝试将文件下载到目录,该目录可能会根据用户选择的目录而有所不同。我将当前目录存储在文件对象中,现在尝试下载该文件。文件已下载,但未下载指定目录。那么,我该怎么做才能获取所选目录中的文件。

// Getting path to store the file   
String path = root.getAbsolutePath();   
path += curr.getName();   
request.setDestinationInExternalPublicDir(path, new File(url).getName());    
// get download service and enqueue file   
DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);     
manager.enqueue(request);   
Run Code Online (Sandbox Code Playgroud)

传递给 File 构造函数的名为 url 的字符串包含一个 URL。只需使用它来检索文件的名称即可。

更新:我刚刚找到该文件。是在手机里,不是在sd卡里。它位于此文件夹中,storage\emulated\00。不知道为什么?另外,我得到的绝对路径是 storage\emulated\0。

tha*_*had 1

因此,我发现返回的路径始终用于storage\emulated\0调用getExternalStorageDirectory().getPath())环境。这就是我用来获取初始目录的方法。因此,例如,如果我浏览文件夹到“下载”文件夹,路径将为storage\emulated\0\Download. 当我下载文件时,它不会转到实际的下载文件夹,而是转到或创建存储文件夹中的模拟文件夹中的下载文件夹。为了解决这个问题,我找到了路径中零的索引,添加了 1,并使用它获取了子字符串。之后就成功了。此外,我还必须通过另一种方法来执行此操作,在该方法中导航目录。作为参数,我传入文件,然后在方法中获取子字符串。在我用来下载文件的方法中,storage\emulated\0无论如何我都会得到。不知道为什么这样做。如果有人能解释这一点,我们将不胜感激。