我试图使用直接链接将文件(可以是任何文件)下载到浏览器中。我试过这个:
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView) findViewById(R.id.webView1);
this.webView.getSettings().setSupportZoom(false);
this.webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
this.webView.loadUrl("https://drive.google.com/uc?id=0Bw6vr2LNxB3iUFJrTk5oZDljaTA&export=download");
this.webView.setWebViewClient(new WebViewClientDemo());
}
private class WebViewClientDemo extends WebViewClient implements DownloadListener {
@Override
public boolean shouldOverrideUrlLoading(WebView v, String u) {
v.loadUrl(u);
v.setDownloadListener(this);
return true;
}
@Override
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
Request request = new Request(
Uri.parse(url));
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "download.png");
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
dm.enqueue(request);
Toast.makeText(getApplicationContext(), "end", Toast.LENGTH_SHORT).show();
}
}
我的链接是一个可直接下载的链接,只能在浏览器中使用,因此我尝试使用webview下载它。但该文件未完全下载。例如,link我的图片大小为31KB,但下载了3 / 4KB。 可能只是下载html页面,因为当我将下载的图像打开到webview时,它会显示一个html页面。 我不明白的问题是什么?我怎样才能解决这个问题?