android - 列出Android手机下载目录下的文件

标签 android list file download

我正在使用以下代码来尝试列出下载目录中的文件。

我构建 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/

相关文章:

Android 双向数据绑定(bind)与 onclick() 不起作用

android - 无法在原始类型 int 上调用 getjsonobject(int)

java - 将列表中的单词更改为小写

python - 将目录中的所有文件加载为名为正在加载的文件名的变量?

java - 使用 BufferedReader 转到文件中的下一行

android - 从字符串值文件夹获取字符串数组?

Android ScaleAnimation 不缩放可点击区域

javascript - 如何使用列表为 jQuery 中的每个点击事件获取不同的结果?

python - 像列表一样生成字典值

file - Lua 保存字符串到文件