1、webview与js交互,webView.loadUrl("javascript:init()"),init为html内代码。
2、调用http协议网页,需要重写WebViewClient内的onPageFinished方法和onReceivedSslError方法内写handler.proceed()忽略证书。
webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub view.loadUrl(url); return true; } @Override public void onPageFinished(WebView view, String url) { } @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed();//忽略证书 } });
3、webview进入页面重新加载,
@Override protected void onPause() { webView.reload(); super.onPause(); }
4、加载网页进度条webView.setWebChromeClient(new WorkWebChromeClient());
class WorkWebChromeClient extends WebChromeClient { @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); if (newProgress == 100) { } else { } }
5、在加载webview时,关闭页面会导致界面崩溃,主要原因是在销毁activtiy界面时,没有销毁webview,导致webview还在加载,出现内存溢出;
解决方案:
if (webView != null) { ViewGroup parent = (ViewGroup) webView.getParent(); if (parent != null) { parent.removeView(webView); } webView.removeAllViews(); webView.destroy(); }