告诉DownloadManager覆盖现有文件

时间:2016-04-15 16:32:46

标签: android android-download-manager

我遇到DownloadManager不会覆盖现有文件但会创建新文件,例如world-1.map而非world.map

有没有办法告诉他覆盖现有文件或解决方法而无需添加新权限或数百行代码?

2 个答案:

答案 0 :(得分:1)

我对DownloadManager做了一点点工作,但我从未体验过这种行为,因为我每次重新下载之前都删除了该文件。 即使您使用以下方法之一显式指定路径,是否会发生此行为:

setDestinationInExternalFilesDir()

setDestinationInExternalPublicDir()

如果没有,你应该试一试。

如果它不起作用,您可以删除以前下载的内容,您需要将下载的ID存储在某处以便能够删除它。这样:

downloadManager.remove(ids);

然后下载其他文件。

答案 1 :(得分:0)

我有同样的问题。这是我的工作。我不确定是否还有其他技术,但这对我有用。

首先,我检查文件是否存在。 然后,我删除旧文件,然后再下载新文件。

File oldV = new File(Environment.getExternalStorageDirectory()
                + "/foldername/filename");     

if(oldV.exists()){
    oldV.delete();
}

//codes for DownloadManager to download files.