Android原生与H5之间的交互
引言
应用开发中经常会遇到原生应用与H5交互的问题,作为开发者需要掌握这方面的知识,才能很好的解决问题,作为要开始加速的新司机,这里做一番总结。
Js调用Android原生的方法
就是指我们在html页面调用Andorid本身或者我们自己写的Java方法(好想画个图),这一块相对来说是比较简单的,具体的步骤和方法,我罗列在下面。
创建接口对象
开启WebView支持
这一步就是让WebView支持js调用Java本地的方法,示例代码如下:
1 | mWebView.getSettings().setJavaScriptEnabled(true); |
编写本地方法用于js调用
1 | public class JavaScriptObject { |
注册方法对象
在对WebView进行初始化时,通过下面的方法将持有方法的对象进行注册,这里相当于localFunc就是一个JavaScriptObjecte类的对象。1
mWebView.addJavascriptInterface(new JavaScriptObject(this),"localFunc");
调用
在需要调用相关方法的js中可以直接调用,实现js与原生的交互。1
localFunc.hasBindBox();
原生调用Js的方法
这个就更简单了,说出来你可能不信,只需要一行代码:1
mWebView.loadUrl("javascript:setText('hello world')");
其中setText()方法就是我们当前html页面的一个js方法,如下:1
2
3
4function setText (text) {
var tx = document.getElementById("tx");
tx.value=text;
}
是不是炒鸡简单,哈哈哈!!!