在如今这H5和原生混行的时代,网页和原生交互也避免不了。下面记录一下Android和Js互调的实际操作。接下来这段时间得学Vue.js了。
一、 先给出WebView相关配置截图
二、 说明一下,不需要实现WebViewClient和WebChromeClient,另外加载本地HTML和网络Url都是不影响的
在其中我就遇到了一个问题,同样的代码加载本地HTML文件(也就是放在项目assets里的HTML文件)就能成功,但一换成网络URL加载就不行,找了很多博客并没发现这个问题,最后确定了是缓存的原因,出现这种问题,把应用清除一下数据试试。
三、 接着给出Android调用js实例代码截图
这里说明一下:webView的evaluateJavascript方法是在Android4.4以上才支持的,另外这是个异步方法,因此我将它放进了主线程里执行。或者放到onPageFinish里执行。
如果需要js给出返回值,那么在js方法里return需要的东西,其返回值会回调到onReceiveValue(String value)方法里。
四、 下面是js调用Android的有参方法(无参方法也一样)
这里说明一下:js调Android方法的格式(window.约定名称.方法名),"约定名称"也就是addJavaScriptInterface里的第二个参数。
接着对应需要被js调用的方法,这里需要给方法名加上@JavascriptInterface注解
这就嗨皮了!
需要注意的都在文字里,文字没有被加粗,但也没啥废话,还是比较好阅读的。