Android ОС, кажется, вызывает ошибку на ссылках загрузки файла в WebViewClient - PullRequest
0 голосов
/ 06 февраля 2020

Я столкнулся со странной проблемой, когда определенные ссылки для скачивания на нашем веб-сайте заставляют приложение вызывать метод WebViewClient onReceivedError. Приложение получает 200 откликов с веб-сайта и, кажется, правильно обрабатывает все в наших слушателях загрузок, но что-то между onPageStart и onPageFinished продолжает вызывать вызов. Кроме того, документация Android на самом деле не имеет ничего для ERR_FAILED, и я не нашел другой информации в Интернете, которая, кажется, могла бы объяснить это. Это регистрация ошибок, которые наше приложение делает само.

Legacy Error :: onReceivedError, errorCode=-1, desc=net::ERR_FAILED

Это трассировка стека, которую я могу получить от отладчика

onReceivedError:487, ****WebViewClient (com.****.webview)
handleMessage:128, on
dispatchMessage:107, Handler (android.os)
loop:237, Looper (android.os)
main:7762, ActivityThread (android.app)
invoke:-1, Method (java.lang.reflect)
run:493, RuntimeInit$MethodAndArgsCaller (com.android.internal.os)
main:1047, ZygoteInit (com.android.internal.os)

Это разочаровывает, потому что загрузка происходит независимо от того, и единственное решение, которое я смог придумать, - это просто особый случай с «ошибочными» URL-адресами, чтобы мы на самом деле не выдавали исключение, когда приложение, кажется, работает совершенно нормально, если оно просто продолжает работать. Это, очевидно, наталкивается на проблемы, так как все больше этих ссылок вводятся, поскольку это реактивное, а не проактивное решение, и не все ссылки на скачивание сталкиваются с этой проблемой лишь немногие. Еще одна странная вещь - это то, что это не срабатывает в эмуляторе, что означает, что на реальном устройстве есть какая-то разница, которая вызывает ошибку.

...