DownloadManager загрузка файлов более 2,1 ГБ

Я работаю над приложением, и одной из функций, над которыми я работаю, является загрузка некоторых двоичных файлов. Некоторые из них действительно большие (более нескольких мегабайт). Загрузка завершается нормально, если размер файла составляет менее 2 ГБ.

Я застрял в файле объемом 3,2 ГБ, в котором я получаю обновления прогресса (я объединяю DownloadManager для обновлений прогресса), но когда загрузка завершается, файл отсутствует в пути к целевому файлу. ДопроситьDownloadManager за этот идентификатор загрузки я получаюSTATUS_FAILED и причинаERROR_UNKNOWN - любимые подробности об ошибках, о которых вы когда-либо мечтаете!

То, что странно, - то, что это появляется на большинстве устройств, но для некоторых (таких как Samsung SG 4 Active OS 4.2.2 и LG Nexus 5 OS 4.4.2), это не появляется.

Проведя дополнительное расследование, я обнаружил, что этоошибка в AndroidDownloadManager реализация, Похоже, что реализация Android хранит счетчик загрузок в виде целого числа, но когда это количество становится вышеInteger.MAX_VALUE загрузка заканчивается как неудачная.

Я думаю заменитьDownloadManager использование с сервисом переднего плана, но я бы еще не сдался ....

Ребята, вы с этим сталкивались, и если да, то как вы это исправили? Есть ли обходной путь для использованияDownloadManager в pre-4.2.2, чтобы я мог загрузить более 2,1 ГБ на файл?

Ответы на вопрос(5)

Ваш ответ на вопрос