Я загружаю несколько файлов одновременно с менеджером загрузки. но моя проблема заключается в загрузке менеджера загрузки, загружающего все файлы с того же самого времени. Мне нужно начать загрузку файла по очереди в очереди. Первый элемент сначала загружает, чем все по одному.Загрузка файлов в очередь с помощью диспетчера загрузки в 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);
}
использовать сервис намерения и отправить ему задачу загрузки файлов .. он будет обрабатывать его в очереди .. вам не придется беспокоиться о его выполнении параллельно .. –
Можете ли вы подробнее остановиться на этом? Не понимаю слова. – greenapps
Вы можете использовать собственный 'IntentService' для загрузки файлов вместо использования DownloadManager. – JonasCz