我在Environment.DIRECTORY_DOWNLOADS目录中编写(编写,而不是下载,确切地说,它是我的应用程序的SQLite数据库的转储)。
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File file = new File(path, "db.csv");
如果我使用文件浏览器浏览手机,我可以正确查看
中的文件 /storage/emulated/0/Download
目录,以及其他下载。
但如果我打开下载应用程序,它就不会显示...
我还需要做什么才能让文件显示在下载应用程序中?
答案 0 :(得分:6)
“下载”应用仅显示通过DownloadManager
下载的下载内容,而不是目录中的所有文件。
答案 1 :(得分:6)
如果有人想知道如何做到这一点,我找到了答案here
要允许系统在“下载”应用程序中显示您的文件,您需要使用addCompletedDownload()
通过使用它,系统将允许您的下载应用程序显示您自己创建的文件。
希望它会有所帮助。
答案 2 :(得分:3)
您刚刚创建了像
这样的文件实例File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File file = new File(path, "db.csv");
但尚未创建文件“db.csv”。使用
file.createNewFile();
创建文件“db.csv”真的......
答案 3 :(得分:1)
尝试设置setVisibleInDownloadsUi属性。这样下载就可以在下载应用中看到。
答案 4 :(得分:0)
将您的文件添加到下载列表中:
DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
dm.addCompletedDownload("db.csv", "my description", false, "text/csv", file.getAbsolutePath(), file.length(), false);
答案 5 :(得分:0)
如果您使用 setDestinationInExternalFilesDir(context, Environment.DIRECTORY_DOWNLOADS, fileName)
,
在 /sdcard/Android/data/<package name>/files/Download
中查找文件。在模拟器中,它可以在 Device File Explorer
中找到。
如果您使用 setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName)
,那么您可以在 Download
应用程序的 Files
文件夹中找到下载的文件。