当我在没有 .pdf 内容的 webview 的情况下加载时,无法预览

Mau*_*iya 4 java pdf android webview

我尝试在 webview android 中加载我的内容作为 PDF,但它显示没有可用的预览我该如何解决我的代码在这里:-

webview = (WebView) findViewById(R.id.webview);
    webview.getSettings().setLoadWithOverviewMode(true);
    webview.getSettings().setUseWideViewPort(true);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setPluginState(WebSettings.PluginState.ON);
    webview.setWebChromeClient(new WebChromeClient());
    String URLPATH = "http://myaccount365.in/public/oddeve78/report/ledger/11/summaryLedger?fromDate=01/11/2019&toDate=09/12/2019";
    String url = "https://docs.google.com/gview?embedded=true&url=" + URLPATH;
    webview.loadUrl(url);
Run Code Online (Sandbox Code Playgroud)

Ale*_*der 8

问题显然是这样的:

您有两个 URL - PDF 的 URL 和 google 文档的 URL。由于您希望将一个 URL 作为GET 参数( ?embedded=true&url=) 传递到另一个 URL,并且您尝试传递的 URL 也包含 GET 参数?fromDate=并且&toDate=,秒 URL 必须进行URLEncoded

所以请致电

String url = "https://docs.google.com/gview?embedded=true&url=" + URLEncoder.encode(URLPATH, "ISO-8859-1");
Run Code Online (Sandbox Code Playgroud)

然后再试一次。

注意:使用 URLEncoder.encode 时:您总是会遇到这个问题:您可以调用没有特定编码的@Deprecated 方法,也可以调用可以指定编码的首选方法,但此方法的 签名中包含 :-OURLEncoder.encode(String s)URLEncoder.encode(String s, String enc)throws UnsupportedEncodingException

无论如何,URLEncoder.encode(url)URLEncoder.encode(url, "UTF-8")URLEncoder.encode(url, "ISO-8859-1")都会产生相同的结果,因为 URL 中没有 UTF-8 或 ISO-8859-1 特定字符:

https://docs.google.com/gview?embedded=true&url=http%3A%2F%2Fmyaccount365.in%2Fpublic%2Foddeve78%2Freport%2Fledger%2F11%2FsummaryLedger%3FfromDate%3D01%2F11%2F2019%26toDate%3D09% 2F12%2F2019