Я пытаюсь загрузить zip-файл с веб-сайта, и этот zip-файл защищен паролем. Файл загружается, но с некоторым содержанием html не с самим файлом, а также когда я пытаюсь открыть этот файл на мобильном устройстве или на компьютере, отображается сообщение о том, что zip-файл поврежден. Код:
webView!!.setDownloadListener { url, userAgent, contentDisposition, mimeType, contentLength ->
val request: DownloadManager.Request = DownloadManager.Request(Uri.parse(url))
request.setMimeType(mimeType)
//------------------------COOKIE!!------------------------
// val cookies: String = CookieManager.getInstance().getCookie(url)
// request.addRequestHeader("cookie", cookies)
//------------------------COOKIE!!------------------------
request.addRequestHeader("User-Agent", userAgent)
request.setDescription("Downloading file...")
request.setTitle(URLUtil.guessFileName(url, contentDisposition, mimeType))
request.allowScanningByMediaScanner()
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
request.setDestinationInExternalPublicDir(
Environment.DIRECTORY_DOWNLOADS,
URLUtil.guessFileName(url, contentDisposition, mimeType)
);
val dm: DownloadManager =
getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
mFileDownloadedId = dm.enqueue(request)
Toast.makeText(applicationContext, "Downloading File", Toast.LENGTH_LONG)
.show()
}
Поэтому, пожалуйста, скажите мне обходной путь для этого.
Изменить : У меня точно такая же проблема, как упомянута здесь https://github.com/delight-im/Android-AdvancedWebView/issues/254 и на том же сайте. Но он предложил использовать chrometab, но я думаю, что с помощью chrometab невозможно определить, был ли файл загружен или нет, как я делаю в веб-просмотре. Поэтому, пожалуйста, предложите мне обходной путь.