我不确定我的问题是什么。我使用下面的代码下载了一堆文件:
public void DownloadNow(ArrayList<String> must_download)
{
String serviceString = Context.DOWNLOAD_SERVICE;
DownloadManager download;
download = (DownloadManager)getSystemService(serviceString);
for(int x = 0; x < must_download.size(); x++)
{
System.out.println("DOWNLOADING "+must_download.get(x).toString());
Uri uri = Uri.parse("http://drm.csdev.nmmu.ac.za/Zandre/"+must_download.get(x).toString());
DownloadManager.Request request = new DownloadManager.Request(uri);
request.setDestinationInExternalFilesDir(this, Environment.DIRECTORY_DOWNLOADS, must_download.get(x).toString());
request.setNotificationVisibility(Request.VISIBILITY_VISIBLE);
request.setTitle(must_download.get(x).toString());
long reference = download.enqueue(request);
}
}
其中 must_download 是一个充满文件名的ArrayList。这种方法在过去成功运行,直到我尝试在不同的线程上运行它。线程的想法没有那么好用,所以我决定改回来。
现在,问题是这个 - 因为我切换回原始方法,下载管理器全时运行,在无限循环中反复下载相同的文件。唯一可以阻止的方法它是 **禁用下载管理器,但是我无法下载任何内容...... 我到目前为止所阅读并试过的是
即使已经使用了所有设备的移动数据,它仍然只是继续下载。
还有其他人遇到过这类问题吗?任何想法解决方案?