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