Существует информация, что Android DownloadManager поддерживает ETags. Хорошо, у меня есть сервер с поддержкой ETag (например, DropBox). Когда я пытаюсь загрузить файл, DownloadManager создает новый и добавляет номер к локальному имени файла (например, file.zip, file-1.zip, file-2.zip и т.д.). Есть ли способ не загружать существующий файл с тем же ETag? Мое приложение будет загружать огромные файлы, поэтому я не хочу их перезагружать каждый раз.
Есть ли способ не загружать существующий файл с тем же ETag?
Вы запрашиваете скачивание. Вам нужно определить, какие файлы должны и не должны быть загружены. AFAIK, DownloadManager
использует ETag
только для прерванных загрузок - он не хранит информацию ETag
неопределенный срок.
ETag
отказывается от HTTPHEAD
запроса, вы можете выполнить свой собственныйHEAD
запрос черезHttpUrlConnection
, посмотреть, нуждается ли файл в обновлении, а затем условно настроитьDownloadManager.Request
.