在使用webview的时候,可以需要我们去调用html的js方法,也可以需要js调用Android的方法
新建一个带webview的xml文件,在java文件中关联,配置
webview = (WebView) findViewById(R.id.webView1);
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setDefaultTextEncodingName("utf-8");
webview.setBackgroundColor(Color.argb(0, 0, 0, 0));
在java文件中新建一个
JavaScriptObjects类
final class JavaScriptObjects {
//@JavascriptInterface 4.2之后都要加上
@JavascriptInterface
public void fun1FromAndroid(final String name) {
finish();
}
}
然后再我们项目的assets文件中新建一个html文件
加载这个html,传入我们创建的JavaScriptObject
webview.addJavascriptInterface(new JavaScriptObjects(), "myObjs");
webview.loadUrl("file:///android_asset/js.html");
在html的script标签中使用
<script>
var aTag = document.getElementById('id');
aTag.addEventListener('click', function(){
//调用android本地方法
myObjs.fun1FromAndroid();
return false;
}, false);
</script>
android调用我们的js方法
webview.loadUrl("javascript:javacalljs()");