2016-04-15 89 views
2

我遇到DownloadManager不覆蓋現有文件,但創建一個新的文件,例如,而不僅僅是world.map告訴DownloadManager覆蓋現有文件

有沒有辦法告訴他覆蓋現有的文件或解決方法,而不必添加新的權限或數百行代碼?

+0

如果文件下載完成,它將創建一個新文件(如果名稱相同,則向其添加一個數字)。如果該文件被部分下載,它將從何處結束。仍然想要覆蓋該文件,然後編寫邏輯以先檢查文件名,然後繼續。 – Kathi

回答

1

我已經與DownloadManager工作過一點,但我從來沒有經歷過這種行爲,因爲我在每次重新下載文件之前都刪除了該文件。 請問這種行爲發生,甚至當你明確地這些方法之一指定路徑:

setDestinationInExternalFilesDir()

setDestinationInExternalPublicDir()

如果沒有,你應該給它一個嘗試。

如果它不起作用,您可以刪除以前下載的內容,您需要將下載的ID存儲在某處以便能夠刪除它。這樣:

downloadManager.remove(ids); 

然後下載其他文件。

+0

我使用'setDestinationInExternalPublicDir()'並體驗這種行爲。刪除舊文件不是一個好的選擇,因爲當下載失敗時沒有任何內容。擁有舊文件比沒有更好。但我正在考慮在下載新文件之前重命名舊文件。 – hgoebl