http://www.imooc.com/article/1475
http://www.cnblogs.com/mengdd/archive/2013/03/02/2940185.html
1、webview的配置
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new JSBridge(this, webView), "JSBridge");
2、类JSBridge示例
class JSBridge{
private Context mContext;
private WebView mWebView;
JSBridge(Context context, WebView webView) {
mContext = context;
mWebView = webView;
}
/**
* 从app获取数据
* @param dataType 获取的数据类型
* @param extra 传给app的额外数据
* @return
*/
@JavascriptInterface
public String getData(String dataType, String extra) {
}
}
3、js调用java的代码(只能调用那些被@JavascriptInterface注解的方法)
window.jsInterfaceName.methodName(parameterValues)此例中我们使用的是JSBridge作为注入接口名称。
例如:window.JSBridge.getData()
4、java调用js的方法:(更多调用方法参考http://www.imooc.com/article/1475)
String callbackUrl = "javascript:" + functionName + "()";
mWebView.post(new Runnable() {
@Override
public void run() {
mWebView.loadUrl(callbackUrl);
}
});