Android与Js进行交互
Android与JS进行交互主要依靠WebView,webView相当于一个桥梁来沟通两者。
Android调用Js:
1、webView的loadurl()方法
互联网页面用:loadUrl(http://baidu.com);
本地文件用:loadUrl(file://android_asset/xx.html);
但是调用此方法必须加上此代码:
mWebView = (WebView) findViewById(R.id.mWebView); WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true);
html串用:String html=“html的内容”;
myWebView.loadData(htmlString, "text/html", "utf-8");
2、通过webView的evaluateJavascript()方法
区别:loadUrl()使用简单,无返回值,所以效率低,每调用一次就刷新一次;evaluateJavascript()有返回值,效率高,调用的时候不刷新webView,只能在Android4.4以上支持。
JS调用Android代码:
1、通过WebView的addJavascriptInterface()进行对象映射
步骤:
定义一个与JS对象映射关系的Android类
将需要调用的JS代码以.html格式放到src/main/assets文件夹里
在Android里通过WebView设置Android类与JS代码的映射
特点:使用简单
仅将Android对象和JS对象映射即可,不过它存在严重的漏洞问题
2、通过 WebViewClient 的shouldOverrideUrlLoading ()方法回调拦截 url
步骤:
在JS约定所需要的Url协议
在Android通过WebViewClient复写shouldOverrideUrlLoading ()
特点:优点:不存在方式1的漏洞
缺点:JS获取Android方法的返回值复杂。
3、通过 WebChromeClient 的onJsAlert()、onJsConfirm()、onJsPrompt()方法回调拦截JS对话框alert()、confirm()、prompt()消息
步骤:
加载JS代码,把js代码放在assets文件中
在Android通过WebChromeClient复写onJsPrompt()
May everyone be happy every day and everything go well!
Android与Js进行交互相关推荐
- android 和 js 之间交互的封装
HybridBridge 项目地址:YouJZ/HybridBridge 简介:android 和 js 之间交互的封装 更多:作者 提 Bug 标签: webview-js-android ...
- Android 与 JS 的交互 以及 JS与Android 的交互
Android与JS交互以及JS与Android 的交互 是通过WebView互相调用方法 对于Android调用JS代码的方法有2种: 通过WebView的loadUrl() 通过WebView的e ...
- js 访问android 路径,Android与JS进行交互传文件路径
webview+h5这种混合开发最近很火,其中最重要的大概就是java代码和js的交互了,刚接触这东西两天,写写收获. 新建一个assets文件夹,要与res这个文件夹同级,其中存放web项目. 先看 ...
- android和js交互的代码,Android与JS代码交互
现如今,很多Android APP都要与JS进行交互,而WebView就是Android与JS交互的桥梁,日常中最常见Android和JS交互有:APP注册协议,APP里的文章,APP里的活动页,这都 ...
- Android开发之android与JS互调 | Android与H5互调(附源码)
我们先看下JS代码: <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...
- android webview js 交互框架,自定义android混合框架开发实践1:实现基础andorid和webview交互...
1. 本地web资源 1.构建assets/web文件夹 2.创建index.html你的html代码 3.使用本地web资源WebView mv = findViewById(...); mv.lo ...
- Android——最简单的 JS H5 交互
安卓 与 Web JS 交互的操作,其实网上一搜,教程案例都已经满大街了,但GT库还是向 Web JS 交互出手了,要问为啥,因为博主是个懒鬼,不想写太多代码,其实我们都知道 原版的WebView 是 ...
- Android中WebView与JS的交互
转载请注明:http://blog.csdn.net/feather_wch/article/details/79364349 介绍Android中通过WebView与web页面交互的知识点. 分为三 ...
- 客户端相关知识学习(三)之Android原生与H5交互的实现
Android原生与H5交互的实现 H5调用原生的方式 方式可能有多种,根据开发经验,接触过两种方式. 方法一:Android向H5注入全局js对象,也就是H5调Android 1.首先对WebVie ...
最新文章
- fun函数是什么php,c语言fun函数有什么例题?
- 阿里用回mysql_回mysql方式
- 网络安全-NTFS权限和445文件共享
- C++多态的基本语法与原理剖析
- python外卷(10)--取整
- CSS3表达式calc( )
- apache性能优化
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 服务器之间的接口通讯功、信息交换...
- 战斗民族的Yandex开始首次雪地无人车路测 | 视频
- Web测试和App测试区别
- afudos备份bios不动_afudos备份bios不动_老鸟经验之谈刷坏BIOS后的2种恢复方法
- 微信公众号js复制到手机剪贴板
- wps打印错误未定义书签怎么解决_word文档打印时候目录出现错误!未定义书签,请问这个问题在wps里怎么修改?有些章节什么的页面可...
- 程序员机械键盘选购总结:键盘选的好,Bug一定少
- 多边形(polygon)
- JavaWeb企业实战项目(一):环境搭建-用户注册-邮件发送
- 实现unity内2D物品延迟跟随鼠标移动
- 华为eNSP华三HCL模拟器,VirtualBox整合,版本兼容
- Mysql性能优化教程
- php 创建透明png,php生成透明背景图片实例
热门文章
- php nginx配置404页面,Nginx实现404页面的几种方法
- java convert函数_自己实现 java中 Convert.toDouble(String str)处理函数 | 学步园
- vue 监听map数组变化_vuex state中的数组变化监听实例
- 华为重磅反击,鸿蒙来了!
- 20220207-CTF-MISC-第11题--- base64隐写--附带脚本
- python2.7安装pip_python2.7 安装pip的方法步骤(管用)
- android studio导出apk_Android 应用构建速度提升的十个小技巧
- linux 6.8 安装教程,CentOS 6.8 7.2 安装图解详细教程
- j.u.c系列(11)---之并发工具类:Exchanger
- bzoj 刷题计划~_~