在android开发的过程的中,很多时候我们需要在项目中嵌套H5页面,这时候我们就经常会遇到一个问题,那就是H5的页面如何去自动回调android代码,下面我们就来见一下实例代码。
H5页面代码
H5页面
window.onload=function () {
var btn=document.getElementById("btn");
btn.onclick=function () {
window.callJava.htmlCallJava("我是h5");
}
}
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;
}
|