1.java原生调用JS (无参和有参)
TreeMap treeMap = new TreeMap<String, String>();treeMap.put("123", "123"); treeMap.put("abc", "abc");
//必须要开子线程 mWebview.post(new Runnable() { @Override public void run() { mWebview.loadUrl("javascript:momo()");//无参 mWebview.loadUrl("javascript:params('123456')");//字符参数 mWebview.loadUrl("javascript:params('" + treeMap + "')");//传map mWebview.loadUrl("javascript:params('" + treeMap + "哈哈"+"')");//多类型多参数 } });
2.JS调java 方法 (无参和有参)
webview.addJavascriptInterface(new DemoJavaScriptInterface(this), "webView");
class DemoJavaScriptInterface { private Context context; public DemoJavaScriptInterface(Context context) { this.context = context; } @JavascriptInterface public void shell() {//无参 Log.e("sb===:", "12134567890"); } @JavascriptInterface public void shell2(String s) {//有参 Log.e("sb2===:", s); Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show(); } }