webview js 与 java 交互

Python043

webview js 与 java 交互,第1张

可以,只要你是用webview打开的,那么不管事远程还是本地,都可以通过webview与app的本地java代码进行交互。没有任何区别。

1、webview必须设置支持Javascript

mWebview.getSettings().setJavaScriptEnabled(true)

2、加进一个回调的代理类JavaScriptInterface,并给它一个调用的名称:ncp

mWebView.addJavascriptInterface(new JavaScriptInterface(), "ncp")

final class JavaScriptInterface {

public int callOnJs() {

return 1000

}

public void callOnJs2(String mode) {

//TODO

}

}

3、JS页面

<script type="text/javascript">

window.onload = function(){

document.getElementById('btn_1').addEventListener('click', onBtnClick, false)

var _int_value = window.ncp.callOnJs()

alert("get int from java:" + _int_value )

}

function onBtnClick() {

window.ncp.callOnJs2("click")

}

</script>

接下来就可以调用js方法了,

1、Java调用js方法

mWebView.loadUrl("javascript:onSaveCallback()")

2、JS访问java方法

window.ncp.callOnJs2("click")

可以,只要你是用webview打开的,那么不管事远程还是本地,都可以通过webview与app的本地java代码进行交互。没有任何区别。

1、webview必须设置支持Javascript

mWebview.getSettings().setJavaScriptEnabled(true)

2、加进一个回调的代理类JavaScriptInterface,并给它一个调用的名称:ncp

mWebView.addJavascriptInterface(new JavaScriptInterface(), "ncp")

final class JavaScriptInterface { 

       public int callOnJs() {

                        

          return 1000

       }

 

       public void callOnJs2(String mode) {

         //TODO

       }

   

  }

3、JS页面

<script type="text/javascript">  

        window.onload = function(){  

                document.getElementById('btn_1').addEventListener('click', onBtnClick, false)  

                var _int_value = window.ncp.callOnJs()  

                alert("get int from java:" + _int_value )  

        }  

        function onBtnClick() {  

                window.ncp.callOnJs2("click")  

        }  

  </script>

接下来就可以调用js方法了,

1、Java调用js方法

mWebView.loadUrl("javascript:onSaveCallback()")

2、JS访问java方法

window.ncp.callOnJs2("click")