在android开发的过程的中,很多时候我们需要在项目中嵌套H5页面,这时候我们就经常会遇到一个问题,那就是H5的页面如何去自动回调android代码,下面我们就来见一下实例代码。
H5页面代码
<html>
<head>
<title>H5页面
</title>
<script>
window.onload=function () {
var btn=document.getElementById("btn");
btn.onclick=function () {
window.callJava.htmlCallJava("我是h5");
}
}
</script>
</head>
<body>
<input type="button" id="btn" value="回到java代码">
</body>
</html>
android代码
mWebView = (WebView) findViewById(R.id.webView);
mSettings = mWebView.getSettings();
mSettings.setJavaScriptEnabled(true);
mSettings.setUseWideViewPort(true);
mSettings.setBuiltInZoomControls(true); // 启用界面上放大和缩小按钮
mSettings.setUseWideViewPort(true); // 启用双击放大, 双击缩小功能
mSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); mSettings.setDefaultTextEncodingName("utf-8");
mWebView.addJavascriptInterface(getHtmlObject(), "callJava");
mWebView.loadUrl("要加载的h5页面链接");
//js调用android的方法
private Object getHtmlObject() {
Object insertObj = new Object() {
@JavascriptInterface
public void htmlCallJava(String str) {
ToastUtils.Display(mContext, str);
}
return insertObj;
}