WebView下载了一些文件,但其他文件并没有

时间:2017-07-19 12:30:49

标签: android webview

我正在创建一个简单的Android WebView应用程序,它可以加载使用大量JavaScript的网站。

基本上我的问题是某些下载链接可以正常工作而其他一些链接不起作用,但所有这些链接都可以在移动浏览器上运行。 我无法访问网站代码,因此我无法对其进行任何更改。

所以我到现在才尝试。

我添加了所有正确的权限。

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

我在onDonloadStart上实现了一个setDownloadListener方法。

      WebView.setDownloadListener(new DownloadListener(){
        @Override
        public void onDownloadStart(String url, String userAgent,String contentDisposition, String mimetype,long contentLength)
        {
            Intent intent = new Intent(Intent.ACTION_VIEW);
            Uri path = Uri.parse(url);
            DownloadManager.Request request = new DownloadManager.Request(path);

            request.setMimeType(mimetype);

            intent.setDataAndType(path,"application/pdf");
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            intent.setData(path);
            startActivity(intent);
        }
    });

我的网页视图设置为:

    webSettings.setJavaScriptEnabled(true);
    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
    webSettings.setLoadsImagesAutomatically(true);
    webSettings.setAllowFileAccess(true);
    webSettings.setLoadWithOverviewMode(false);
    webSettings.setUseWideViewPort(false);
    webSettings.setSupportZoom(false);
    webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

    WebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
    WebView.canGoBack();

所以有人都知道为什么会这样吗?

0 个答案:

没有答案