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); } });