微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WebView 有时不使用 URL 显示 PDF 内容

如何解决WebView 有时不使用 URL 显示 PDF 内容

我想在 webView 中显示 PDF。我有那个 PDF 的 URL。它有时工作并显示 PDF,但有时当我单击 RecyclerView 中的不同 URL 时不显示 PDF。 我搜索了这个问题并尝试使用 postDelayed 但它有时仍然不显示 PDF

这是代码

 final Dialog g = new Dialog(context);
                    //,android.R.style.Theme_Translucent_NoTitleBar
                    g.requestwindowFeature(Window.FEATURE_NO_TITLE);

                    g.setContentView(R.layout.webview_layout);

                    Window window = g.getwindow();
                    WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
                    lp.copyFrom(g.getwindow().getAttributes());
                    Rect displayRectangle = new Rect();

                    window.getDecorView().getwindowVisibledisplayFrame(displayRectangle);

                    lp.width = WindowManager.LayoutParams.MATCH_PARENT;
                    lp.height = WindowManager.LayoutParams.MATCH_PARENT;
                    lp.gravity = Gravity.CENTER_VERTICAL;

                    window.setAttributes(lp);

                    WebView webView = (WebView) g.findViewById(R.id.webView);
                   // WebSettings ws = webView.getSettings();
                    webView.getSettings().setJavaScriptEnabled(true);
                   // webView.getSettings().setPluginState(WebSettings.PluginState.ON);
                webView.getSettings().setBuiltInZoomControls(true);
                webView.getSettings().setSupportZoom(true);
                    webView.getSettings().setLoadWithOverviewmode(true);
                    webView.getSettings().setUseWideViewPort(true);
                webView.setWebViewClient(new Callback());
                webView.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        webView.loadUrl( "http://docs.google.com/gview?embedded=true&url=" +list.get(position).getURl());

                    }
                },1000);
                g.show();

和 WebView 客户端

 private class Callback extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(
                WebView view,String url) {
            return(false);
        }

        @Override
        public void onReceivedSslError(WebView view,SslErrorHandler handler,SslError error) {
      //      super.onReceivedSslError(view,handler,error);
            handler.proceed();
        }

        @Override
        public void onPageFinished(WebView view,String url) {
            super.onPageFinished(view,url);
            Log.e("webView"," "+"end");
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view,WebResourceRequest request) {
            Log.e("webView"," "+"start");
            return super.shouldOverrideUrlLoading(view,request);

        }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。