1.首先我们需要了解Android与Js交互的方式
Android与JS通过WebView互相调用方法,实际上是:
- Android去调用JS的代码
- JS去调用Android的代码
二者沟通的桥梁是WebView
对于Android调用JS代码的方法有2种:
- 通过
WebView
的loadUrl()
- 通过
WebView
的evaluateJavascript()
对于JS调用Android代码的方法有3种:
-
通过
WebView
的addJavascriptInterface()
进行对象映射 - 通过
WebViewClient
的shouldOverrideUrlLoading ()
方法回调拦截 url - 通过
WebChromeClient
的onJsAlert()
、onJsConfirm()
、onJsPrompt()
方法回调拦截JS对话框alert()
、confirm()
、prompt()
消息
2.在使用中遇到了向Js传多个参数的问题
1)不传参数 WebView.loadUrl("JavaScript:getParameter()");
2)单个参数 WebView.loadUrl("JavaScript:getParameter('" + s + "')");
3)多个参数 WebView.loadUrl("JavaScript:getParameter('" + s + "','" + a + "','" + b + "')");