我正在使用以下代码来尝试列出下载目录中的文件。
我构建 apk,将其安装到我的手机上,然后运行它。当我在手机的文件浏览器中查看时,我在内存/下载文件夹和外部内存/下载文件夹中都有文件,但应用程序不显示文件列表。当我调试时,我发现 listFiles()
函数返回 null
。
请告诉我哪里做错了。变量 state
已挂载值,因此问题与未挂载的内存无关。
String state = Environment.getExternalStorageState();
private boolean isMediaAvailable() {
if (Environment.MEDIA_MOUNTED.equals(state)) {
return true;
} else {
return false;
}
}
if (!isMediaAvailable()) {
Utility.finishWithError(this,"Media Not Available");
} else {
String path =Environment.getExternalStorageDirectory().toString()+ File.separator + Environment.DIRECTORY_DOWNLOADS;
File file = new File(path);
mRootPath = file.getAbsoluteFile().getPath();
mFileNames = new ArrayList<String>();
File filesInDirectory[] = file.listFiles();
if (filesInDirectory != null) {
for (int i = 0; i<filesInDirectory.length;i++) {
mFileNames.add(filesInDirectory[i].getName());
}
}
}
最佳答案
使用:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
获取下载目录,
并使用File.list()获取包含目录中文件列表的数组。
关于android - 列出Android手机下载目录下的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30281890/