我有一個應用程序從服務器上下載大約6k張照片,並將它們存儲在配置爲y我的應用程序設置的文件夾中,我使用.nomedia文件將該文件隱藏在庫中,並且它們僅在我的應用程序庫,但當我離開我的設備充電大約5000張照片消失,並且文件夾中只剩下920左右,我完全不知道爲什麼文件被刪除。使用donwloadManager下載的文件消失
這裏是我的下載文件的代碼
DownloadManager downloadManager = (DownloadManager) activity.getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Request request;
fileURL = convertUri(fileURL);
if (!URLUtil.isValidUrl(fileURL)) { return false; }
Uri downloadUri = Uri.parse(fileURL);
String fileName = URLUtil.guessFileName(fileURL, null, MimeTypeMap.getFileExtensionFromUrl(fileURL));
deleteFileIfExists(new File(getAbsolutePath(path), fileName));
request = new DownloadManager.Request(downloadUri);
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI)
.setTitle(fileName)
.setAllowedOverRoaming(false)
.setVisibleInDownloadsUi(false)
.setDestinationInExternalPublicDir(getPath(path), fileName);
downloadManager.enqueue(request);
如何以及下載過程開始的頻率?它是自動的嗎?或預定?因爲我看到這個'deleteFileIfExists ...',所以可能會啓動另一個下載過程,並再次開始下載文件,只是這次它刪除當前文件?如果你等待和刷新文件夾,你會看到文件數增加? 925 926 ... ?? – Yazan
下載不是自動的,我有一個按鈕來啓動它,不能被啓動兩次,服務器提供的URL,每次只下載新文件,但如果文件在服務器上更新,應用程序再次收到它,所以我有刪除舊的,這就是爲什麼我在那裏有deletedFileIfExists功能。 基本上,當應用程序結束下載過程我保存日期時間,所以下次我試圖問服務器,它只下載新的或更新文件 –