android 嵌入web容器,Github最火开源项目-H5和Android通信容器BridgeWebView的使用
PS:如果觉得这个系列的每篇文章太长,那就直接看视频吧
运行效果
screenshot2.gif
使用步骤
1. 在project的build.gradle添加如下代码(如下图)allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
build_project.png
2. 在Module的build.gradle添加依赖compile 'com.github.open-android:BridgeWebView:v1.0'
3.布局文件中使用
android:id="@+id/bdwebview"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
4.Activity初始化通信桥梁mBdwebview = (BridgeWebView) findViewById(R.id.bdwebview);//初始化BridgeWebViewmBdwebview.loadUrl("http://10.0.3.2:63343/BridgeWebView/index.html");//显示H5页面mBdwebview.addBridgeInterface(new MyJavaSctiptInterface(mBdwebview, this));//注册桥梁类,该类负责H5和android通信
5.桥梁类提方法给js调用public class MyJavaSctiptInterface{
private Activity mActivity; public MyJavaSctiptInterface(Activity mActivity) { this.mActivity = mActivity;
} public void callPhone(String[] strs){//拨号
JSONObject jsonObject = new JSONObject(strs[0]);
String phone = jsonObject.optString("phone");
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phone));
mActivity.startActivity(intent);
}
}
6.js中调用android方法$("#btn1").on("click", function(){ var method = "callPhone";//js调用的android方法名
var params = {"phone":"10086", "callback":""};//callback用于回调js
callAndroidMethod(method, params);
}); /**
* 统一管理js调用安卓方法
* @param method 方法名
* @param params 向android传参数 数组格式
*/var callAndroidMethod = function(method, params){ window.jsInterface.invokeMethod(method, [JSON.stringify(params)]);
}
7.android中调用js方法webView.loadUrl("javascript:js的方法名(根据需要传参数,一般可以传json)");
作者:马伟奇
链接:https://www.jianshu.com/p/aafd34fa5711
android 嵌入web容器,Github最火开源项目-H5和Android通信容器BridgeWebView的使用相关推荐
- android自定义视频列表,Github最火开源项目-高仿今日头条视频列表功能
主要特点视频全屏播放和浮层小窗播放 可以完全自定义UI 能在ListView.ViewPager和ListView.ViewPager和Fragment等多重嵌套模式下全屏工作 手势修改进度和音量 视 ...
- ofo html源码,Github最火开源项目-一行代码实现ofo小黄车的引导界面
自定义控件 联网 工具 数据库 源码分析相关面试题 Activity相关面试题 Service相关面试题 与XMPP相关面试题 与性能优化相关面试题 与登录相关面试题 与开发相关面试题 与人事相关面试 ...
- GitHub Android 最火开源项目Top20
GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上.基于不要重复造轮子的原则,了解当下比较流行的Android与i ...
- GitHub上Swift开源项目!
swift-open-project 这里汇集了目前为止最为流行的Swift开源项目,选取SwiftGuide中的开源部分,这里将每周对项目进行总结,如果大家有推荐的可以联系thinkloki@gma ...
- GitHub 优秀的开源项目学习
转载:原博客地址http://blog.csdn.net/shulianghan/article/details/18046021 一.ListView android-pulltorefresh 一 ...
- 精品收藏:GitHub人工智能AI开源项目
精品收藏:GitHub人工智能AI开源项目 绝对精品!!!花了点时间,鄙人把这几年收藏的开源精品项目,整理一下,方面以后查找.其中涵盖了姿态检测,图像分割,图像分类,美学评价.人脸识别.多尺度训练,移 ...
- github 6月开源项目_我的开源项目如何在短短5天内在GitHub上赢得6,000颗星
github 6月开源项目 Last month I launched two open source projects on GitHub. A few days later, my Front-E ...
- github上的开源项目中gif图片的制作软件
在github上学习开源项目的时候,看到好些开源项目里的示例图片都是gif格式的,这些gif图片能够很好地介绍此开源项目的功能,尤其是在电脑上运行android模拟器时,然后就想着自己以后做开源的时候 ...
- pythongetattribute_对Github上Python开源项目进行分析时遇到的一个AttributeError的解释及其解决方法。...
最近在分析Github的Python开源项目时候遇到了一些问题,直接上传代码段: import requests import pygal from pygal.style import LightC ...
- GitHub中已开源项目汇总
GitHub中已开源项目汇总 QT 端软件 输入法 串口工具 AI IOT 网络协议 安卓 音频工具 嵌入式端软件 协议类 引导升级类 音频类 USB组合设备 下载算法制作 串行数据驱动框架 边缘计算 ...
最新文章
- 自定义request_Spring Security 自定义登录认证(二)
- htmlparser操作bean类提取html页面元素
- sublime 安装 插件 package control,安装docblockr
- linux断开会话不中断进程,Linux screen 解决会话终止当前进程断开的问题
- UNIX再学习 -- 守护进程(转)
- 运算符之:2、算术运算符(7个)
- 《剑指offer》数字在排序数组中出现的次数
- Flexible 弹性盒子模型之CSS justify-content 属性
- 在DrawingVisual上绘制圆形的进度条,类似于IOS系统风格。
- 你已经是一个成熟的地图了,该学会帮我...
- linux能记录日志的终端,Linux上的日志系统
- HashMap暴力枚举(洛谷P1765题题解,Java语言描述)
- Jalview | 多序列比对图中显示序列标识
- 16个简单实用的.htaccess技巧
- linux限制进程使用的cpu使用率
- 使用SAP download manager下载SAP软件
- 微信公众号应用开发(一)
- 第二届“香山杯”网络安全大赛|MISC
- TMS320F28335与10位数模转换器TLC5615的SPI通讯问题1(DAC数模转换原理篇)
- 2019浙江ACM省赛部分题解-ABDEFGHIJK