Android webview 与js交互
来源:互联网 发布:美女公寓小说txt淘宝 编辑:程序博客网 时间:2024/05/17 01:38
关于中 java代码与h5 中js交互的问题已经是老生常谈的事情了,之前在开发中也有遇到过,但是一直没总结
今天刚好碰到一个同事遇到了这个问题,在帮他解决的同时也在这里总结下常规步骤和注意事项
webview 与js 交互
1.设置webview中允许执行js 代码,这句是基础(废话.
web.getSettings().setJavaScriptEnabled(true);
2.为webview 与js直接建立一个共享对象(这里为了简洁直接使用了所在的Activity类对象,
指定js调用的字段名(这里取名叫 app 可以修改,建议统一
web.addJavascriptInterface(this, "app");
3.创建与js交互的方法 ,这里这个方法直接写在Activity 中了,
在4.2及以上记得在方法上带上注解@JavascriptInterface
这是因为在js直接与java代码进行交互的话存在漏洞,比方你可以利用java的反射调用一些系统方法,总之没有
限制是很危险的事情
注意:request_data js所调用的java端的所有方法会在子线程中执行,不要直接在方法中进行更新ui的操作
@JavascriptInterface public void request_data(String year, String month, int dic){}
4.js端调用java方法 window.app.request_data 这里的 app 即为第二步中为js申明的共享字段名
如果你修改了这个名字,一定要提醒的前端队友同步修改,前端也是你写的话,当我没说
window.app.request_data(year,month,0);
5.java调用js方法 heartJson 为你要传递过去的值,因为java和js对象是不互通的,如果需要传递对象和数组之类的,
请将对象和数组转json之后再使用下面的方法拼接然后调用,
对象数组要转json,对象数组要转json,对象数组要转json 重要的事情说三遍
web.loadUrl("javascript:chartHeartRate(" + heartJson + ")")
6.没了
- Android WebView与JS交互
- Android webview与js交互
- Android WebView与Js交互
- Android WebView与js交互
- Android webview与js交互
- Android webview 与js交互
- android webview与js交互
- Android webview与js交互
- android webview与js交互
- Android WebView与js交互
- android webView与js交互
- WebView---android webview组件如何使用 Webview与js交互
- WebView---android webview组件如何使用 Webview与js交互
- Android WebView 与JS的数据交互
- Android WebView 与JS的数据交互
- Android 的webview与js交互
- android中的WebView与JS交互
- android webview 与 js 交互 总结
- 各种python 包的exe安装包下载地址
- 欢迎使用Markdown编辑器写博客
- shell中的wait
- TCP协议--CLOSE_WAIT状态
- 常用学习网站
- Android webview 与js交互
- shell中的wait
- Tomcat启动报错A child container failed during start
- newScheduledThreadPool创建可间隔时间执行的线程池
- 如何通过JAVA发送邮件
- osg的NodeCallback回调使用方法
- Language Models
- csh shell编程入门
- 使用visualvm远程监控JVM LINUX tomcat服务器与客户端配置方法