未调用Android webview shouldOverrideUrlLoading方法

未调用Android webview shouldOverrideUrlLoading方法,android,Android,Android webview shouldOverrideUrlLoading方法在单击包含pdf文件的链接时不会调用 代码: public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.endsWith(".pdf")) { Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));

Android webview shouldOverrideUrlLoading方法在单击包含pdf文件的链接时不会调用

代码:

public boolean shouldOverrideUrlLoading(WebView view, String url)
{
    if (url.endsWith(".pdf")) {
        Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        startActivity(browserIntent);
        return true;
    } else {
        view.loadUrl(url);
    }

    return true;
}
试试这个

private class WebClient extends WebViewClient {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // check here the url
            if (url.endsWith(".pdf")) {
                Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                startActivity(browserIntent);
            } else {
                super.onPageStarted(view, url, favicon);
            }
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
        }

        @Override
        public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
            super.onReceivedError(view, request, error);
        }
    }
试试这个

private class WebClient extends WebViewClient {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // check here the url
            if (url.endsWith(".pdf")) {
                Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                startActivity(browserIntent);
            } else {
                super.onPageStarted(view, url, favicon);
            }
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
        }

        @Override
        public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
            super.onReceivedError(view, request, error);
        }
    }

如果url包含简单html页面,则将调用该方法,但如果url包含pdf文件(pdf文件的地址),则不调用shouldOverrideUrlLoading方法如果url包含简单html页面,则将调用该方法,但如果url包含pdf文件(pdf文件的地址),则不调用shouldOverrideUrlLoading方法no,它会一次又一次无限次地加载网页。而实际的问题仍然是。你能分享你想要加载的url吗web view加载此网页,但不加载包含pdf文件的内部页面(单击包含pdf文件的链接时不调用shouldOverrideUrlLoading方法)@Juned请检查我的更新答案,它对我来说工作正常。让我知道你的情况。不,先生,同样的问题仍然存在。它会打开普通html页面,但不会打开pdf文件。你试过打开pdf文件吗?没有,它会一次又一次无限次地加载网页。而实际的问题仍然是。你能分享你想要加载的url吗web view加载此网页,但不加载包含pdf文件的内部页面(单击包含pdf文件的链接时不调用shouldOverrideUrlLoading方法)@Juned请检查我的更新答案,它对我来说工作正常。让我知道你的情况。不,先生,同样的问题仍然存在。它会打开普通html页面,但不会打开pdf文件。你试过打开pdf文件吗?