DownloadManager для Android не возобновляет загрузку после неудачной загрузки - PullRequest
0 голосов
/ 18 февраля 2019

Чтобы повторить эту проблему,

  1. Я начинаю загрузку в обычном режиме.
  2. Когда загрузка достигает примерно 40-50%, я отключаю WiFi.
  3. В логгереЯ вижу, что загрузка возобновлена, но через несколько секунд появляется ошибка.

Вот журналы:

02-18 10:34:04.366 20142 20783 D progressxxx: 40
02-18 10:34:04.366 20142 20783 D xxx1111 : Download in progress!
02-18 10:34:04.368  2579 20883 W DownloadManager: [211] Stop requested 
with status CANNOT_RESUME: Expected partial, but received OK
02-18 10:34:04.368  2579 20883 D DownloadManager: [211] Finished with 
status CANNOT_RESUME
02-18 10:34:04.369 20142 20783 D progressxxx: 40
02-18 10:34:04.369 20142 20783 D xxx1111 : Download in progress!
02-18 10:34:04.373 20142 20783 D progressxxx: 40
02-18 10:34:04.373 20142 20783 D xxx1111 : Download in progress!
02-18 10:34:04.376  2579 20883 V DownloadManager: MIME Type = 
application/vnd.android.package-archive
02-18 10:34:04.380 20142 20783 D progressxxx: 40
02-18 10:34:04.380 20142 20783 D xxx1111 : Download failed!
02-18 10:34:04.381  4875  5061 D JobServiceContext: 
sendStopMessageLocked stop reason: cancel() called by app, 
callingUid=10052 uid=10052 jobId=211
02-18 10:34:04.382  2579 20883 D DownloadManager: Send intent: mId:211 
status:489 mTitle:Download
02-18 10:34:04.385  2579 20883 I DownloadManager: Download 211 
finished with status CANNOT_RESUME
--------- beginning of crash
02-18 10:34:04.386 20142 20783 E AndroidRuntime: FATAL EXCEPTION: 
Thread-11
02-18 10:34:04.386 20142 20783 E AndroidRuntime: Process: 
com.example.sensen.gemineyedownloadmanager, PID: 20142
02-18 10:34:04.386 20142 20783 E AndroidRuntime: 
java.lang.ArithmeticException: divide by zero
02-18 10:34:04.386 20142 20783 E AndroidRuntime:    at 

1 Ответ

0 голосов
/ 18 февраля 2019

Поскольку я использовал Android Download Manager, очень сложно поддерживать паузу, возобновлять и возобновлять загрузку.Если вы хотите использовать эту функцию с помощью менеджера загрузок Android, вам нужно больше кода.Вам нужно будет поддерживать пути к файлам и т. Д.

Если вы хотите легко реализовать это, используйте другие библиотеки загрузки, одна из библиотек - fetch , эти функции легко реализовать и поддерживать.

...