2013-11-24 5 views
2

Я работаю над android downloader. До сих пор я обнаружил, что есть задача async или использовать диспетчер загрузки для выполнения. Проблема в том, что я берусь за использование диспетчера загрузки, поскольку он обрабатывает почти всю сетевую проблему. Единственная проблема заключается в том, что я хотел бы загружать только один файл за раз. Например:Загрузите один файл только за один раз в android

Есть 5 файлов: ABCDE

Если я скачиваю файл А, если есть какой-либо файл (скажем, файл C) ПРЕРЫВАЙТЕ, остановить загрузку файла A и начать С, если С отделкой просто возобновите загрузку A

Но, кажется, когда я отменил файл A, он будет удален, но не будет возобновлен, как я могу исправить эту проблему? Благодаря

private long startDownload(String url) { 
Uri DownloadUri = Uri.parse(url);  
String fileName = StorageUtils.getFileNameFromUrl(url); 
String destination = null; 

downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); 
DownloadManager.Request request = new DownloadManager.Request(
     DownloadUri); 

request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE); 
request.setAllowedOverRoaming(false); 

request.setTitle(fileName); 
request.setDescription("com.example.services"); 

if (StorageUtils.isSDCardPresent() 
     && StorageUtils.isSdCardWrittenable() 
     && StorageUtils.checkAvailableStorage()) { 
    destination = StorageUtils.SDCARD_ROOT; 
} 

try { 
    StorageUtils.mkdir(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

request.setDestinationInExternalPublicDir(destination, fileName); 
downloadReference = downloadManager.enqueue(request); 

Log.d("Downloader","Start download manager: " + destination + fileName); 
return downloadReference; 

}

+0

Если вы собираетесь добавить больше деталей на свой пост, просто изменить его вместо того, чтобы задать другой вопрос. – hichris123

ответ

Смежные вопросы