Я работаю над 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;
}
Если вы собираетесь добавить больше деталей на свой пост, просто изменить его вместо того, чтобы задать другой вопрос. – hichris123