Webview无法从Android中的动态发布URL下载文件

时间:2018-08-23 05:21:19

标签: android webview download dynamic-url

我有webview个,其中包含一个website。一页上有一个button供下载excel文件。但是,当我单击它时,它仅刷新页面,没有下载。甚至我都设置了下载监听器。

但是下载监听程序不会在点击时调用。但是在移动设备上的Google chrome等其他浏览器上,此功能运行良好。

我已经添加了与之相关的所有权限,并且在堆栈溢出和其他地方看到了很多类似的问题,但一无所获。

所以,任何人都可以解决我的问题。

Webview code:

    webview = (WebView)findViewById(R.id.webview);
    webSettings = webview.getSettings();
    webSettings.setUserAgentString(newAgentString);
        webSettings.setJavaScriptEnabled(true);
        webSettings.setSupportZoom(true);
        webSettings.setBuiltInZoomControls(true);
        webSettings.setDisplayZoomControls(false);
        webSettings.setSupportMultipleWindows(true);
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        webSettings.setLoadWithOverviewMode(true);
        webSettings.setUseWideViewPort(true);
        webSettings.setAllowFileAccess(true);
        webSettings.setAllowContentAccess(true);
        webSettings.setEnableSmoothTransition(true);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
            webSettings.setAllowFileAccessFromFileURLs(true);
        }
        webSettings.setDomStorageEnabled(true);
        webSettings.setDatabaseEnabled(true);
        webSettings.setPluginState(WebSettings.PluginState.ON);

        webview.setHorizontalScrollBarEnabled(true);
        webview.setWebViewClient(new MyWebViewClient());
        webview.setWebChromeClient(new MyWebChromeClient()); 

        webview.setDownloadListener(new DownloadListener() {
            public void onDownloadStart(String url, String userAgent,
                                    String contentDisposition, final String                                 mimeType,
                                    long contentLength) {

            Log.d("Erpp", "main onDownlaod : url : " + url);

    });

if (Build.VERSION.SDK_INT >= 21) {

    CookieManager.getInstance().setAcceptThirdPartyCookies(webview,true);
} else {
    CookieManager.getInstance().setAcceptCookie(true);
}

0 个答案:

没有答案