首页 > 解决方案 > 尝试在 webview 中打开在线 PDF 文件时,我没有收到可用预览消息

问题描述

我这样的代码 WebView webview = new WebView(getActivity());

    webview.getSettings().setJavaScriptEnabled(true);

   final ProgressDialog progDailog = ProgressDialog.show(getActivity(), "Loading", "Please wait...", true);
    progDailog.setCancelable(false);


    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setLoadWithOverviewMode(true);
    webview.getSettings().setUseWideViewPort(true);
    webview.getSettings().setPluginState(WebSettings.PluginState.ON);

// webview.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); //以下几行显示加载器,直到下载 pdf 文件以供查看。webview.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            progDailog.show();
            view.loadUrl(url);

            return true;
        }

        @Override
        public void onPageFinished(WebView view, final String url)
        {
            progDailog.dismiss();
        }
    });
    try {
        String urlEncoded = URLEncoder.encode(pdf, "UTF-8");
        pdf = "http://docs.google.com/viewer?url=" + urlEncoded;
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
   String pdf = "http://192.168.2.154:8080/streamline/res/INV-000015.pdf";
    webview.loadUrl("http://drive.google.com/viewerng/viewer?embedded=true&url=" + pdf);

标签: androidpdfwebview

解决方案


192.168.2.154是本地网络上的机器。docs.google.com无法访问它。docs.google.com只能访问公共 IP 地址上的公共 URL。

也许您可以考虑查看 PDF 的其他选项


推荐阅读