JS和Android互调(调用相机拍照)
Android用的是jsbridge.BridgeWebView。github链接:https://github.com/lzyzsd/JsBridge
js封装了一下方法(参考:JSbridge 在Vue的封装与交互):
let isAndroid = navigator.userAgent.indexOf('Android') > -1 || navigator.userAgent.indexOf('Adr') > -1;
let isiOS = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);//执行回调函数 这是必须要写的,用来创建一些设置
function setupWebViewJavascriptBridge(callback) {//Android使用if (isAndroid) {//如果该对象已存在则直接执行if (window.WebViewJavascriptBridge) {callback(window.WebViewJavascriptBridge);} else {//否则添加事件监听再执行document.addEventListener('WebViewJavascriptBridgeReady',() => {callback(window.WebViewJavascriptBridge);},false);}console.log('tag,android');sessionStorage.phoneType = 'android';}//iOS使用if (isiOS) {if (window.WebViewJavascriptBridge) {return callback(window.WebViewJavascriptBridge);}if (window.WVJBCallbacks) {return window.WVJBCallbacks.push(callback);}window.WVJBCallbacks = [callback];var WVJBIframe = document.createElement('iframe');WVJBIframe.style.display = 'none';WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__';document.documentElement.appendChild(WVJBIframe);setTimeout(() => {document.documentElement.removeChild(WVJBIframe);}, 0);console.log('tag', 'ios');sessionStorage.phoneType = 'ios';}
}//注册回调函数,第一次连接时调用(进入H5页面) 初始化函数(android需要初始化,ios不用)
setupWebViewJavascriptBridge((bridge) => {console.log('tag,setupWebViewJavascriptBridge');if (isAndroid) {//初始化 一个无参数的handler供Android调用bridge.init((message, responseCallback) => {console.log('JS got a message', message);var data = {'Javascript Responds': 'Wee!'};responseCallback(data);});}
});export default {// js调APP方法 (参数分别为:app提供的方法名 传给app的数据 回调)callHandler(name, data, callback) {setupWebViewJavascriptBridge((bridge) => {bridge.callHandler(name, data, callback);});},// APP调js方法 (参数分别为:js提供的方法名 回调)registerHandler(name, callback) {setupWebViewJavascriptBridge((bridge) => {bridge.registerHandler(name, (data, responseCallback) => {callback(data, responseCallback);});});}
};
JS和Android互调(调用相机拍照)相关推荐
- Android 10调用相机拍照
最近对以前的Android项目进行开发时,因为新的平板Android中系统版本为10,将旧项目的Android API升级为26.然后旧代码中的拍照权限失效,经过查询资料,发现权限并未打开,因此需要提 ...
- android intent拍照,Android通过Intent方式调用相机拍照取得图片
Android通过Intent方式调用相机拍照取得图片 AndroidManifest.XML 权限设置: XML布局设置: 代码: public classMainActivityextendsAp ...
- Android调用相机拍照高清原图(兼容7.0)
在安卓更新7.0的版本后,要调用相机拍照获取原图则需要先把拍摄后的内容保存到目录,然后再借助provider调出来显示,相比以前可以说十分繁琐,但为了摆脱马赛克画质的困扰,为了更好的用户体验,还是硬着 ...
- Android 调用相机拍照并保存
不知不觉已经两年多已经没有写文章了,转眼间大学都要毕业了,也是有些唏嘘,今后会定期发表些文章,应该会以Android为主,也会夹杂其他领域的一些文章. 话不多说,今天做了一个小demo,就是调用相机拍 ...
- Android中拍照完就给图片加水印,Android调用相机拍照并添加水印
最近项目提出新需求,要求在拍照后在图片上添加用户信息的水印,so,楼主重新整理封装了一个简单的拍照+水印的工具类,需求不同,仅供参考.文件操作及权限做了适配,支持androidN及以上版本,放心使用. ...
- android 调用相机拍照。适配到 Android 10
Photograph 项目地址:donkingliang/Photograph 简介: android 调用相机拍照.适配到 Android 10 更多:作者 提 Bug 标签: android ...
- 安卓系统android使用C# .NET Xamarin框架调用相机拍照
安卓系统android使用C# .NET Xamarin框架调用相机拍照 引言 一.用到的软件.包 二.创建Android应用(Xamarin), 三.增加Nuget中库Xam.Plugin.Medi ...
- Android调用相机拍照并添加水印
最近项目提出新需求,要求在拍照后在图片上添加用户信息的水印,so,楼主重新整理封装了一个简单的拍照+水印的工具类,需求不同,仅供参考.文件操作及权限做了适配,支持androidN及以上版本,放心使用. ...
- Android开发之调用相机拍照与本地图库选择图片
引用链接 Android开发之调用相机拍照与本地图库选择图片 Android调用相机实现拍照功能 部分截图 引言 小项目有一个访问相册的需求,在网上查找得到两位大神博客指点,但博客发布时间过旧,难免因 ...
- Java乔晓松-android中调用系统拍照功能并显示拍照的图片
android中调用系统拍照功能并显示拍照的图片 如果你是拍照完,利用onActivityResult获取data数据,把data数据转换成Bitmap数据,这样获取到的图片,是拍照的照片的缩略图 代 ...
最新文章
- 社交网络图挖掘1--将社交网络看作图及其聚类
- Java常用消息队列原理介绍及性能对比
- VISUAL STUDIO 2008 破解方法
- 高通固件解包IPQ6000固件解包
- pyhton 把文字放入图片里_藏在京城老字号里的六道功夫菜!久违了!!
- metamask中的import account的代码实现
- 牛客网(剑指offer) 第二十一题 栈的压入、弹出序列
- python对数组的操作_Python对数组的基本操作
- oracle 地市 区县分组,oracle分组写法 - 挣扎在陌生城市ITMAN的个人空间 - OSCHINA - 中文开源技术交流社区...
- shell命令 安装软件包
- 文件打印服务器解决方案
- IP报文格式及各字段的意义
- Windows 7 多国语言包(MUI)
- JAVA练习216-整数的英语表示
- FMS视频在线采集系统
- Daz3d:如何使用景深
- win7计算机管理没有键盘,win7系统中出现键盘无法输入的详细解决步骤
- 8-1 职场价值塑造-摆脱低价值瓶颈,展示高价值收获新机会
- 深度学习与自然语言处理(1)_斯坦福cs224d Lecture 1
- 119全国消防日,我们要注意用火安全
热门文章
- 运动装备品牌排行榜,运动爱好者必备好物分享
- Linux系统下7个好用的PDF编辑器推荐
- GetDc与GetWindowDc的含义
- 【论文笔记】Reasoning about Entailment with Neural Attention
- nginx 过滤ip
- 在剪贴板上有大量信息,是否保留其内容, 以便此后粘贴到其他程序中? VBA 对策
- 发明界泥石流!河南一小伙发明陪酒机器人,全程高能结局笑疯
- 我的世界服务器聊天微信互通,我的世界跨平台联机 PC、手机等平台数据互通
- 在CentOs7上部署Gunicorn
- Tex(文档排版工具)