Android webView 注入js文件,及交互

JavaScript0156

Android webView 注入js文件,及交互,第1张

0.js文件:

链接: https://pan.baidu.com/s/1MaWKxgkYgQTVQCgn8-dxLg

提取码:o6wy

3.添加js要调用的Android方法

4.添加  (JsBridge:js中调用Android方法的对象名)

5.注入js

6.Android 调用js方法 传值给js

步骤 3 中发送了处理后的消息,在webactivity中接受消息并处理:

数据示例:(参数需要使用单引号包着)

else 中对应的

callbackResult('sr1557665118336','{"data":"test"}')

if中对应的

javascript:callbackResult('sr1557665118336','{"data":"test"}')

7.补充:eventbus 消息实体封装类

8.总结:

Android平台上使用js调用java方法,主要是通过webview控件提供的 webview.addJavascriptInterface(new Person(this), "per") 这个方法将java对象注入到js中,然后可以在js中通过调用该java对象的方法来实现回调,如下代码:

1.html文件,demo.html<html> <head> <script type="text/javascript" > function updateHtml(type,type2){ document.getElementById("content").innerHTML = "弹出对话框,测试"+type+type2 alert("dialog") } </script> </head> <body> 这是一个js与android的例子 <a onClick="window.ceshi.startFunction()" href="">弹出对话框</a> 调用对象方法 <a onClick="per.print()" href="">调用对象方法</a> <span id="content"></span> </body> </html>