Android与JS互相调用

转载请标明出处:http://77blogs.com/?p=281

android开发中有经常需要用到android与H5的交互,有必要学一下。

 

如下图

点击各个按钮代表的意思已经很明显,我就不多说了

 

1、先看一下布局:

 

2、编写html页面,并且放在main下的assets资源文件夹下,没有的话请自己创建

 

3、主程序:

custonAndroid为自定义字段,需要与下面代码中的字段一样。
<input type=”button” value=”Js调用Java代码” onclick=”window.customAndroid.jsCallAndroid()”/>
webView.addJavascriptInterface有安全漏洞(H5可以调用android本地的所有方法),所以4.2以上还需要使用注解来表明那些方法是js可以调用的,接下来会讲。

 

H5中这两个方法的作用

如上html中代码,向id为showmsg的h3大小标题中写入字符串

同上,只是显示的现象变成了android传过去的字符串了。

js调用android:

@JavascriptInterface也就是我上面说的注解,4.2以上必须使用这个注解,否则js无法调用本地的方法。本地方法的名称需要与H5中定义的一样。
实践证明,js调用的方法并不是在主线程中,而是在线程名为JavaBridge的线程中。

当我们点击下面webview中的按钮的时候便会执行这两个方法。

发布者

大道苍莽,一笔一墨,皆重之。

发表评论

电子邮件地址不会被公开。