1. Android 中调用JS

假如:H5页面中有一段如下JS代码

function h5Test(str){
  xxxx...
  xxxx...
}

Android中调用方式如下:

步骤一: 启动支持JS

WebSettings ws = getSettings();

ws.setJavaScriptEnable(True);

步骤二: 加载网页

webView.loadUrl(url);

步骤三:调用网页中的js, 注意此处函数名要和 上面js代码中函数名完全一致

webView.loadUrl("javascript:changeTitle('Android调用js')");

2.JS调用Android

假定点击H5网页上的一个按钮,跳转到Android代码中的某个Activity页面

步骤一:启动支持JS

WebSettings ws = getSettings();

ws.setJavaScriptEnabled(true);

步骤二:给webView添加JS接口类, 该类封装了原生的操作. 参数2是JS中的实体类名字,需要和js代码中名字保持一致

webView.addJavascriptInterface(new JsInterface(),"js2android");

H5页面见到js2android 就会到JsInterface()类中找相应方法.

步骤三:编写接口类的内容

public class JsInterface{
  @JavascriptInterface //这个注解一定要带上
  public void selectPic(){
    Intent intent = new Intent(WebViewActivity.this,GetPicActivity.class);
    startActivityForResult(intent,100);
  }
}

步骤四:H5页面中JS对应代码

function appSelectPic(){
  javascript:js2android.selectPic();
}

通过以上4个步骤,就可以做到点击H5页面的一个按钮,跳转到 对应Activity

android 和h5互调步骤的更多相关文章

  1. Android与H5互调

    前言 微信,微博,微商,QQ空间,大量的软件使用内嵌了H5,这个时候就需要了解Android如何更H5交互的了:有些外包公司,为了节约成本,采用Android内嵌H5模式开发,便于在IOS上直接复用页 ...

  2. Android与H5互调(通过实例来了解Hybrid App)

    前些日子,Android原生开发将被取缔的吵得火热,JavaScript是能做一个完全的APP,但只使用JavaScript做出来的APP也不会牛逼到哪里去.最好的是混合(Hybrid)开发,在需要的 ...

  3. Android Webview H5资源本地化

    Android Webview H5资源本地化 一. 创建读取资源项目独立模块 1. 项目依赖的好处 符合模块化的思想,他们相互独立.一个项目持有另一个项目的引用,修改更加方便. (注:compile ...

  4. Android与H5交互(java与js的交互)

    一.理论概述 1.js调用java方法 直接调用WebView的该方法就可以添加接口了,不过先要启动交互 // 启用javascript mWebView.getSettings().setJavaS ...

  5. Unity中加入Android项目的Build步骤

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 简介: 有的项目需要在Android中加入Unity功能,例如ANDROID应用中嵌入Un ...

  6. Android原生和H5交互;Android和H5混合开发;WebView点击H5界面跳转到Android原生界面。

    当时业务的需求是这样的,H5有一个活动商品列表的界面,IOS和Android共用这一个界面,点击商品可以跳转到Android原生的商品详情界面并传递商品ID:  大概就是点击H5界面跳转到Androi ...

  7. Atitit.android webview h5运行环境总结

    Atitit.android webview h5运行环境总结 1. WebView 的使用1 2. Js调用java1 3. Js调用java 跟个swt的比较2 3.1. Swt是BrowserF ...

  8. Android 与H5之间的js交互

    之前项目做过一些Android和Html5之间js交互方面的东西,今天有时间就总结一下: 一.为什么要进行js交互: 为了方便原生开发和Html之间数据传递,在静态页面的情况下可以改变原生开发的页面: ...

  9. Android中H5和Native交互的两种方式

    Android中H5和Native交互的两种方式:http://www.jianshu.com/p/bcb5d8582d92 注意事项: 1.android给h5页面注入一个对象(WZApp),这个对 ...

随机推荐

  1. 第一次亲密接触——二狗子初识 CDN

    二狗子是国内知名XXX大学的在校学生,作为一名编程爱好者,他利用业余时间搭建了一个网站,把平时的学习心得和技术分享全都 PO 在自己的网站上.渐渐地,二狗子的网站因为文章质量高,技术分享全面,受到了很 ...

  2. CodeForces 29D Ant on the Tree

    洛谷题目页面传送门 & CodeForces题目页面传送门 题意见洛谷里的翻译. 这题有\(\bm3\)种解法,但只有一种是正解(这不是废话嘛). 方法\(\bm1\):最近公共祖先LCA(正 ...

  3. 洛谷 P1960 列队

    题意简述 有一个n × m 的矩阵,第i行第j列元素编号为(i - 1)× m +j 每次将一个数取出,其他元素依次向左,向上填补空缺,最后将取出的数放入矩阵最后一格 求每次取出数的编号 题解思路 由 ...

  4. spring事务在实际项目开发中的使用

      一, 事务的一些基础知识简单回顾一下,讲的不是很深入,网上博客很多. 1,关于事务的四大特性:原子性.隔离性.一致性.隔离性 本文不再赘述: 2,事务的隔离级别:读未提交,读已提交,可重复读,串行 ...

  5. Mina各组件介绍

    Mina各组件介绍 上一篇文章已经系统的介绍了Mina的运行流程,Apache推出的Mina性能上很是高效,上章节我们知道内部有很多的类,各个类之间的依赖也是很多,他们之家都是相互依赖. 下面主要看看 ...

  6. Java函数式编程原理以及应用

    一. 函数式编程 Java8所有的新特性基本基于函数式编程的思想,函数式编程的带来,给Java注入了新鲜的活力. 下面来近距离观察一下函数式编程的几个特点: 函数可以作为变量.参数.返回值和数据类型. ...

  7. static用法总结:

    这是我的第一篇随笔! 1.当1.cpp和2.cpp都定义了同一个全局时链接会报错,变量名冲突.需要将其中一个设置为static控制其作用域为只在一个源文件内部. 2.函数名也是全局的,故static的 ...

  8. CSS布局:元素垂直居中

    CSS布局之元素垂直居中 本文将依次介绍在不同条件下实现垂直居中的多种方法及简单原理 Tip:下文中说的适用场景只是举了几个简单的例子方便读者理解.实际应用场景太复杂,生搬硬套容易出错.最重要的是掌握 ...

  9. 从0开始学Git——Git的协同操作

    环境: test_git 目录下有个my-project 版本库 所有命令都在test_git目录下执行 本地协同操作 从远端仓库检出代码,或者克隆一个已有的版本库 拷贝一个已有的仓库 #格式: gi ...

  10. Java多线程之线程的状态迁移

    Java多线程之线程的状态迁移 下图整理了线程的状态迁移.图中的线程状态(Thread.Stat 中定义的Enum 名)NEW.RUNNABLE .TERMINATED.WAITING.TIMED_W ...