webView的浏览器的内核是基于webkit内核的,webkit集成了js和java互调的接口:
具体用法:
1.java调js(或传参数)
<span style="font-size:18px;">Webview.getSettings().setJavascriptEnabled(true); //打开页面js
web的网页:webView.loadUrl("http://www.google.com");
本地的网页:webView.loadUrl("file:///android_asset/XX.html"); //本地的存放在:assets文件夹中
WebView.loadUrl("javascript:goToJS()");//无参数传递</span>
2.js调java
m_webView.getSettings().setJavaScriptEnabled(true);
m_webView.addJavascriptInterface(new DemoJavaScriptInterface(),"medo");
m_webView.loadUrl(localUrl);
//js调java
public class DemoJavaScriptInterface{
public DemoJavaScriptInterface(){
}
//退出监听到首页
@JavascriptInterface //4.2之前向webview注入的对象所暴露的接口toString没有注释语句@JavascriptInterface,而4.2及以后的则多了注释语句@JavascriptInterface
public boolean exitTohome(){ //退出到android首页
Intent intent= new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
return true;
}
}
js调用: window.demo.exitTohome();