项目开发中WebView用的不少。可是,有时候不单单是展现。还须要交互。好比点击WebView中的按钮,关闭当前activity等等。html
正常WebView加载不在多说。分别说一下,先后端处理方式:web
1.服务端:后端
在html网页编写的时候。点击按钮添加点击事件:svg
关闭当前页面function callAndroid(){
// 因为对象映射,因此调用question对象等于调用Android映射的对象
//question : 约定好的一个name(只要一致即ok)
//over : 约定好的方法名(只要一致即ok)
question.over();
}
//点击按钮则调用callAndroid函数
2. Android 端:函数
首先定义一个类:code
public class JavascriptCloseInterface {
/**
* 注意: 在Android4.2极其以上系统须要给提供js调用的方法前加入一个注视:@JavaScriptInterface;
* 在虚拟机当中 Javascript调用Java方法会检测这个anotation,
* 若是方法被标识@JavaScriptInterface则Javascript能够成功调用这个Java方法,不然调用不成功。
* 注意方法名要同后台约定的相同
*/
@JavascriptInterface
public void over() {
finish();
}
}
而后webview调用xml
//添加与js的交互接口,起的名称与js代码中的接口名称要一致
webView.addJavascriptInterface(new JavascriptCloseInterface(), "question");
大功告成。。htm