android - 尝试在 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);
解决方案
192.168.2.154
是本地网络上的机器。docs.google.com
无法访问它。docs.google.com
只能访问公共 IP 地址上的公共 URL。
也许您可以考虑查看 PDF 的其他选项。
推荐阅读
- reactjs - 材质界面
打字稿错误 TS2769 - xml - 如何在 XQuery 中使用条件?
- linux - Linux 中读取数据的时间在格式化磁盘和已删除数据的磁盘中是不同的
- javascript - Webview 不加载 javascript 来获取内容
- r - 在线性规划(lpSolve)中将变量设置为高于某个数字
- javascript - 如何从 NextJS 的公用文件夹中获取()?
- python - 恢复excel文件总和
- c++ - 我可以使用 MSBuild 命令行设置编译器选项吗?
- javascript - 使用javascript的服装计算器
- excel - 如何删除 MS Excel 2016 中的所有零列,同时保留具有一些零值的列?