在 android 中使用下载管理器在队列中下载文件?
Downloading files in a queue using download manager in android?
我正在使用下载管理器同时下载多个文件。但我的问题是下载管理器同时开始下载所有文件我需要在队列中一个一个地开始下载文件意味着第一个项目先下载而不是一个一个地下载。
DownloadManager.Java
if(downloaddata.size()>0){
for(int i=0;i<downloaddata.size();i++){
downloadFiles(downloaddata.get(i).getFile_id(),downloaddata.get(i).getFile_url(),"OTHER");
}
}
public void downloadFiles(String myid,String myurl,String type){
createFolder();
String fileName = URLUtil.guessFileName(myurl, null, null);
Uri uri=Uri.parse(myurl);
request=new DownloadManager.Request(uri);
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI);
request.setTitle(myid);
request.setMimeType(type);
request.setDestinationInExternalPublicDir("/peakmedia",fileName); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
downloadReference=downloadManager.enqueue(request);
downloadlist.add(downloadReference);
}
DownloadManager 广播 ACTION_DOWNLOAD_COMPLETE
,因此您可以在 BroadcastReceiver 接收到上一个文件成功时请求下载下一个文件。
我正在使用下载管理器同时下载多个文件。但我的问题是下载管理器同时开始下载所有文件我需要在队列中一个一个地开始下载文件意味着第一个项目先下载而不是一个一个地下载。
DownloadManager.Java
if(downloaddata.size()>0){
for(int i=0;i<downloaddata.size();i++){
downloadFiles(downloaddata.get(i).getFile_id(),downloaddata.get(i).getFile_url(),"OTHER");
}
}
public void downloadFiles(String myid,String myurl,String type){
createFolder();
String fileName = URLUtil.guessFileName(myurl, null, null);
Uri uri=Uri.parse(myurl);
request=new DownloadManager.Request(uri);
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI);
request.setTitle(myid);
request.setMimeType(type);
request.setDestinationInExternalPublicDir("/peakmedia",fileName); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
downloadReference=downloadManager.enqueue(request);
downloadlist.add(downloadReference);
}
DownloadManager 广播 ACTION_DOWNLOAD_COMPLETE
,因此您可以在 BroadcastReceiver 接收到上一个文件成功时请求下载下一个文件。