我在Environment.DIRECTORY_DOWNLOADS目录中编写(写入,而不是下载,确切地说是我的应用程序的SQLite数据库的转储)文件。
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File file = new File(path, "db.csv");
如果我用文件浏览器浏览手机,我可以正确看到该文件
/storage/emulated/0/Download
目录,以及其他下载。
但是,如果我打开下载应用程序,它不会显示...
我还需要做什么才能让文件显示在下载应用程序中?
“下载”应用仅显示通过下载下载的下载 DownloadManager
,而不是目录中的所有文件。
如果有人想知道如何做到这一点,我找到了答案 这里
要允许系统在“下载”应用程序中显示您的文件,您需要显式通知DownloadManager使用该方法完成下载 addCompletedDownload()
通过使用它,系统将允许您的下载应用程序显示您自己创建的文件。
希望它会有所帮助。
你刚才创建了File实例
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File file = new File(path, "db.csv");
但是尚未创建文件“db.csv”。使用
file.createNewFile();
创建文件“db.csv”真的...
尝试设置setVisibleInDownloadsUi属性。这允许下载应用程序中显示下载。
看到 下载管理器
将文件添加到下载列表:
DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
dm.addCompletedDownload("db.csv", "my description", false, "text/csv", file.getAbsolutePath(), file.length(), false);