我这样的代码的WebView的WebView =新的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(新LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT)); //以下行是表明装载机取消平铺下载的查看PDF文件。 webview.setWebViewClient(新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地址的公开网址。
也许你可以考虑other options for viewing PDFs。
这为我工作......我所做的是我解析URL作为URI以链接相连来之前,一切工作。下面是我的代码:
// sets visibility to visible
progressBar.setVisibility(View.VISIBLE);
// displaying document in webview
String url = Uri.encode(fileUrl);
document_viewer.getSettings().setJavaScriptEnabled(true);
document_viewer.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
document_viewer.getSettings().setBuiltInZoomControls(true);
document_viewer.getSettings().setUseWideViewPort(true);
//document_viewer.getSettings().setPluginState(WebSettings.PluginState.ON);
// loads documentUrl into webView
document_viewer.loadUrl("http://docs.google.com/gview?embedded=true&url="+url);
document_viewer.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
// sets visibility to visible
progressBar.setVisibility(View.VISIBLE);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
@Override
public void onPageFinished(WebView view, String url) {
// do your stuff here
// sets visibility of progressBar to gone
progressBar.setVisibility(View.GONE);
// sets visibility of webView to visible
document_viewer.setVisibility(View.VISIBLE);
// setting the details of document on text Views
title.setText(" Title : " + documentTitle);
tag.setText(" Tag : " + documentTag);
type.setText(" Type : " + documentType);
comment.setText(" Comment : " + documentComment);
distributee.setText(" Distributee : " + documentDistributee);
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
view.loadUrl("about:blank");
Toast.makeText(getApplicationContext(), getResources().getString(R.string.error_occurred), Toast.LENGTH_LONG).show();
super.onReceivedError(view, errorCode, description, failingUrl);
}
});
希望能帮助到你。谢谢