Как с помощью DownloadManager загрузить файл, размер у которого заранее неизвестен?

94
04 марта 2022, 01:10

Есть следующий код, который работает при скачивании файлов с заранее известным размером (выполняется внутри AsyncTask):

    DownloadManager.Request request = new DownloadManager.Request(Uri.parse(urls[0]));
    request.setDescription(filename);
    request.setTitle("Загрузка: " + filename);
    request.allowScanningByMediaScanner();
    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
    request.setDestinationInExternalPublicDir("Download", filename);
    return String.valueOf(((DownloadManager) c.getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request));

Что нужно сюда дописать, чтобы этот же код скачивал файлы с заранее неизвестным размером? Я пытаюсь скачать видео flv.

Answer 1
final URLConnection connection = url.openConnection();
final int length = connection.getContentLength();

Но это только в том случае если сервер выдает ContentLength

READ ALSO
main в war из jboss

main в war из jboss

Необходимо, что бы в программе был и web и main файл, стартующий при запуске программыСобираю для jboss с помощью мавена war и main не отрабатывает

113
Вопрос про псевдослучайные числа и теорию вероятностей

Вопрос про псевдослучайные числа и теорию вероятностей

Программа генерирует псевдослучайные целые числа в диапазоне от 1 до 5Найти вероятную частоту выпадения серии из 5 одинаковых чисел

66
Какая приоритетность селекторов в CSS?

Какая приоритетность селекторов в CSS?

Правильно? Может что то пропустил?

108
Как организовать чтобы всегда был запущен процесс обработки очередей в Laravel

Как организовать чтобы всегда был запущен процесс обработки очередей в Laravel

Сейчас запускаю команду для запуска php artisan queue:workКак сделать чтобы очереди всегда были запущены? Хостинг не поддерживает возможность запустить...

87