Android webview JS 交互

在android中使用webview让JS调用android的native功能:

        WebView webView = (WebView) findViewById(R.id.webview);
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        //注册一个类到webview供JS使用
        webView.addJavascriptInterface(new WebAppInterface(), "math");

这个类中的函数需要标注上@JavascriptInterface并且是public

    public class WebAppInterface {
        @JavascriptInterface
        public int sum(int a,int b){
            return a+b;
        }

    }

js代码

   var = math.sum(1,2)

另外还可以使用shouldOverrideUrlLoading来拦截自定义协议
使用比较简单 ,就不做说明了。

在android中调用JS函数:

// callJS 是js代码中的方法
mWebView.loadUrl("javascript:callJS()");
//4.4以后使用,更方便可以直接获取返回值
webView.evaluateJavascript("javascript:callJS()", new ValueCallback() {
            @Override
            public void onReceiveValue(String value) {

            }
        });

你可能感兴趣的:(Android webview JS 交互)