Android WebView JS和java交互

1.java原生调用JS     (无参和有参)

TreeMap treeMap = new TreeMap, 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();
    }
}

你可能感兴趣的:(Android WebView JS和java交互)