如何在Android中的下载目录中获取每个文件的完整路径和名称

ram*_*n86 0 directory android file

我将开发一个应用程序,用户可以从下载目录中选择文件.现在我需要用户选择的文件的路径+名称.

DownloadManager dm = (DownlaodManager) getSystemService(DOWNLOAD_SERVICE);
Run Code Online (Sandbox Code Playgroud)

通过这种方式,用户可以选择文件.现在我需要文件的absoloute路径,这是选择.但问题是,如果用户选择一个文件,该文件将被打开(这不应该发生)

你们中的任何人都可以帮助我吗?

Suf*_*ori 9

使用, Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); 访问该文件夹以及File.listFiles()从该目录访问单个文件.

看到这个粗略的例子,

写浏览和从表中每个文件的方法Downloads目录,如果目录中找到Downloads文件夹中,也列出它的文件,

public void getFilesFromDir(File filesFromSD) {

    File listAllFiles[] = filesFromSD.listFiles();

    if (listAllFiles != null && listAllFiles.length > 0) {
        for (File currentFile : listAllFiles) {
            if (currentFile.isDirectory()) {
                getFilesFromDir(currentFile);
            } else {
                if (currentFile.getName().endsWith("")) {
                    // File absolute path
                    Log.e("File path", currentFile.getAbsolutePath());
                    // File Name
                    Log.e("File path", currentFile.getName());

                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

获取Downloads目录的路径并将其作为参数传递给上面的方法,

File downloadDir = new File(Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_DOWNLOADS).getAbsolutePath());

getFilesFromDir(downloadDir);
Run Code Online (Sandbox Code Playgroud)