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

最新文章

  1. memcache入门笔记
  2. oracle触发器与数据导入导出的简单使用
  3. 误报的java.sql.SQLException: Parameter number 21 is not an OUT parameter
  4. winform(进程和线程)
  5. acl拒绝访问流量
  6. SqlServer_事务
  7. Swift基础知识入门(基于Swift2.0)
  8. HTML5之兴趣爱好
  9. windows下搭建tensorflow的环境
  10. C++中的继承详解(3)作用域与重定义,赋值兼容规则
  11. VPS搭建离线下载服务器——后网盘时代
  12. jQuery toastr提示简单实现
  13. 笔记之monkey自定义脚本
  14. 剑指Offer 30. 连续子数组的最大和 (数组)
  15. VUE + ElementUI 从搭建到运行
  16. Java中的引用类型Scanner类和随机类型Random
  17. ios alloc init 和 new 的区别
  18. Nginx(十二)-- Nginx+keepalived实现高可用
  19. angular学习笔记(十四)-$watch(3)
  20. [转]Getting started with ASP.NET Web API OData in 3 simple steps

热门文章

  1. JVM调优之经验
  2. JS扫雷小游戏
  3. Intellij IDEA 2019.2 设置Git
  4. 访问CGI程序时不添加 /cgi-bin/ 目录也可访问
  5. git码云的使用基础(为了以后更好的协同操作)
  6. Vue的冒泡事件
  7. Django-channels 实现WebSocket实例
  8. 《Java 8 in Action》Chapter 1:为什么要关心Java 8
  9. ZooKeeper 相关概念以及使用小结
  10. shiro@RequiresPermission的设置