如果我使用 DownloadListener
收听,我会得到我需要请求的 URL,在浏览器已经请求它之后。浏览器已经打开了到 URL 的连接(这是它知道这是一个下载的方式),为什么它不能将连接传递给我?
我还尝试将自定义 WebViewClient
分配给 WebView
并使用 shouldOverrideUrlLoading
在请求之前捕获 URL。要以这种方式下载文件,我在浏览器之前请求每个 URL,并根据它的 Content-Type 决定是否下载它,如果是,那么我从已经打开的连接中下载它,否则我关闭连接并指示浏览器加载它,然后浏览器...再次请求它。另外,在 shouldOverrideUrlLoading
中,我没有被告知应该使用哪种方法和哪些 cookie 来请求给定的 URL。
我怎样才能不不必要地请求两次并且仍然能够使用 WebView 下载文件?
最佳答案
一个简单的解决方案是将其修改为只下载它而不要求用户根据内容类型进行确认,而只是在用于监视下载的任何内容上放置一个取消按钮。
关于java - WebView - 如果不请求两次就无法下载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11801787/