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进行交互相关推荐

  1. android 和 js 之间交互的封装

    HybridBridge 项目地址:YouJZ/HybridBridge 简介:android 和 js 之间交互的封装 更多:作者   提 Bug    标签: webview-js-android ...

  2. Android 与 JS 的交互 以及 JS与Android 的交互

    Android与JS交互以及JS与Android 的交互 是通过WebView互相调用方法 对于Android调用JS代码的方法有2种: 通过WebView的loadUrl() 通过WebView的e ...

  3. js 访问android 路径,Android与JS进行交互传文件路径

    webview+h5这种混合开发最近很火,其中最重要的大概就是java代码和js的交互了,刚接触这东西两天,写写收获. 新建一个assets文件夹,要与res这个文件夹同级,其中存放web项目. 先看 ...

  4. android和js交互的代码,Android与JS代码交互

    现如今,很多Android APP都要与JS进行交互,而WebView就是Android与JS交互的桥梁,日常中最常见Android和JS交互有:APP注册协议,APP里的文章,APP里的活动页,这都 ...

  5. Android开发之android与JS互调 | Android与H5互调(附源码)

    我们先看下JS代码: <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  6. android webview js 交互框架,自定义android混合框架开发实践1:实现基础andorid和webview交互...

    1. 本地web资源 1.构建assets/web文件夹 2.创建index.html你的html代码 3.使用本地web资源WebView mv = findViewById(...); mv.lo ...

  7. Android——最简单的 JS H5 交互

    安卓 与 Web JS 交互的操作,其实网上一搜,教程案例都已经满大街了,但GT库还是向 Web JS 交互出手了,要问为啥,因为博主是个懒鬼,不想写太多代码,其实我们都知道 原版的WebView 是 ...

  8. Android中WebView与JS的交互

    转载请注明:http://blog.csdn.net/feather_wch/article/details/79364349 介绍Android中通过WebView与web页面交互的知识点. 分为三 ...

  9. 客户端相关知识学习(三)之Android原生与H5交互的实现

    Android原生与H5交互的实现 H5调用原生的方式 方式可能有多种,根据开发经验,接触过两种方式. 方法一:Android向H5注入全局js对象,也就是H5调Android 1.首先对WebVie ...

最新文章

  1. fun函数是什么php,c语言fun函数有什么例题?
  2. 阿里用回mysql_回mysql方式
  3. 网络安全-NTFS权限和445文件共享
  4. C++多态的基本语法与原理剖析
  5. python外卷(10)--取整
  6. CSS3表达式calc( )
  7. apache性能优化
  8. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 服务器之间的接口通讯功、信息交换...
  9. 战斗民族的Yandex开始首次雪地无人车路测 | 视频
  10. Web测试和App测试区别
  11. afudos备份bios不动_afudos备份bios不动_老鸟经验之谈刷坏BIOS后的2种恢复方法
  12. 微信公众号js复制到手机剪贴板
  13. wps打印错误未定义书签怎么解决_word文档打印时候目录出现错误!未定义书签,请问这个问题在wps里怎么修改?有些章节什么的页面可...
  14. 程序员机械键盘选购总结:键盘选的好,Bug一定少
  15. 多边形(polygon)
  16. JavaWeb企业实战项目(一):环境搭建-用户注册-邮件发送
  17. 实现unity内2D物品延迟跟随鼠标移动
  18. 华为eNSP华三HCL模拟器,VirtualBox整合,版本兼容
  19. Mysql性能优化教程
  20. php 创建透明png,php生成透明背景图片实例

热门文章

  1. php nginx配置404页面,Nginx实现404页面的几种方法
  2. java convert函数_自己实现 java中 Convert.toDouble(String str)处理函数 | 学步园
  3. vue 监听map数组变化_vuex state中的数组变化监听实例
  4. 华为重磅反击,鸿蒙来了!
  5. 20220207-CTF-MISC-第11题--- base64隐写--附带脚本
  6. python2.7安装pip_python2.7 安装pip的方法步骤(管用)
  7. android studio导出apk_Android 应用构建速度提升的十个小技巧
  8. linux 6.8 安装教程,CentOS 6.8 7.2 安装图解详细教程
  9. j.u.c系列(11)---之并发工具类:Exchanger
  10. bzoj 刷题计划~_~