本质上是Java与Javascript的互调。
一,Android调H5
1,核心代码:
......
webView = new WebView(this);
WebSettings webSettings = webView.getSettings();
//设置支持javaScript脚步语言
webSettings.setJavaScriptEnabled(true);
//支持双击-前提是页面要支持才显示
webSettings.setUseWideViewPort(true);
//支持缩放按钮-前提是页面要支持才显示
webSettings.setBuiltInZoomControls(true);
//设置客户端-不跳转到默认浏览器中
webView.setWebViewClient(new WebViewClient());
//加载网络资源
webView.loadUrl("http://atguigu.com/teacher.shtml");
//加载本地网络资源
// webView.loadUrl("file:///android_asset/JavaAndJavaScriptCall.html");
//显示页面
setContentView(webView);
......
2,传递数据
首先,在Activity或者Fragment的onCreate()方法中初始化WebView;然后,在业务处理的代码中处理数据的传递并调用setContentView(WebView实例)。
比如:
/**
* Java调用javaScript
* @param numebr
*/
private void login(String numebr) {
webView.loadUrl("javascript:javaCallJs("+"'"+numebr+"'"+")");
setContentView(webView);
}
二,H5调Android
也就是JS调Java
1,配置Javascript接口
2,实现Javascript接口类
3,解决该WebView.addJavascriptInterface接口不起作用的两种办法
a,针对版本改成16
b,在JavaScript接口类的方法加上@JavascriptInterface注解