无法使用downloadmanager完全下载文件

时间:2015-06-02 04:36:47

标签: android android-webview android-download-manager

我试图使用直接链接将文件(可以是任何文件)下载到浏览器中。我试过这个:

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页面。 我不明白的问题是什么?我怎样才能解决这个问题?

0 个答案:

没有答案