H5 调用android原生相机代码分析
H5 页面在webView中调用原声相机:
H5 端的代码:如下:
<input id="upload" type="file" accept="image/*;" capture="camera" > //文本输入框;
android端的代码:
webView.setWebChromeClient(newLiuyyWebChromeClient(this));
这里的 LiuyyWebChromeClient是自定义的 WebChromeClient对象;
下面贴一下LiuyyWebChromeClient类的代码
/** * 作用: {1, 自定的实现webView拍照上传的工具类} * 作者:liuyiyuan * 日期:2016/11/10 10:48 * 邮箱:liuyiyuan@xnihuamm.net * weixin: Dkalan */ public class LiuyyWebChromeClient extends WebChromeClient {public interface OpenFileChooserCallBack {void openFileChooserCallBack(ValueCallback<Uri> uploadMsg, String acceptType);void openFileChooserCallBackAndroid5(ValueCallback<Uri[]> uploadMsg, String acceptType);}private OpenFileChooserCallBack mOpenFileChooserCallBack; //选择图片回调接口 public LiuyyWebChromeClient(OpenFileChooserCallBack mOpenFileChooserCallBack){this.mOpenFileChooserCallBack=mOpenFileChooserCallBack;}//For Android 3.0+ public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType) {mOpenFileChooserCallBack.openFileChooserCallBack(uploadMsg, acceptType);}// For Android < 3.0 public void openFileChooser(ValueCallback<Uri> uploadMsg) {openFileChooser(uploadMsg, "");}// For Android > 4.1.1 public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {openFileChooser(uploadMsg, acceptType);}// For Android > 5.0 @Override public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> uploadMsg, WebChromeClient.FileChooserParamsfileChooserParams) {mOpenFileChooserCallBack.openFileChooserCallBackAndroid5(uploadMsg,"");return true;}}
这里实现了对android 5.0 通过webView调用本地相机的支持;
工程demo对android 6.0系统也做了适配
如果需要完整的工程代码请下载附件 或者私信我(邮箱:liuyiyuan@xinhuamm.net)
demo页面测试账号( 王长顺, 123456,身份:教师);请勿随意上传图片,本系统有人在使用,谢谢支持配合。
H5 调用android原生相机代码分析相关推荐
- h5调用安卓原生相机、相册、电话、录像,且兼容安卓系统8.0
前言 安卓原生组件webview加载h5的URL,若要h5调用安卓原生相机和相册有效需要做以下操作. 测试机:魅蓝note2 系统5.1.1 华为荣耀畅玩7x 系统8.0.0 一.h5页面相关 方 ...
- H5调用Android原生Api
Android 与H5交互之跳转拦截 Android拦截跳转,实现web调用原生Api 定义变量 在Android代码设置回调事件 前端代码 判断url是否合法 根据不同的type执行不同的操作 An ...
- h5 调用ios原生相机拍照上传照片
1.html中的点击按钮和回调显示标签---------------直接上代码 <!DOCTYPE html> <html lang="en"> <h ...
- android 自定义相机源码,Android 自定义相机及分析源码
Android 自定义相机及分析源码 使用Android 系统相机的方法: 要想让应用有相机的action,咱们就必须在清单文件中做一些声明,好让系统知道,如下 action的作用就是声明action ...
- html5 调用系统相册,iOS之H5调用系统相册相机浏览文件
在我们iOS开发中大家遇到过H5和原生交互,需要上传文件,刚开始的思路肯定是在之前轻车熟路的js交互中原生方法获取文件之后上传,今天我们了解一个新的方法,其实苹果官方给我们提供了一个更简单的方法, H ...
- h5前端调用android拍照功能,H5调用Android拍照和摄像以及选取相册
之前一直认为H5调用Android,H5不需要Android配合能直接实现功能.前段时间,自己做这个功能,才发现不是这么回事. H5编写 html文件里只需要标签即可实现代码,代码如下所示: 拍照 ο ...
- Qt for Android调用android原生Toast控件
用Qt开发Android应用,有时候会想着直接调用android原生的一些组件或者打开某些android的系统界面,比如调用Toast显示消息提醒.打开android系统设置页面.这里主要讲解如何通过 ...
- React Native之js调用Android原生使用Callback传递结果给js
如果不清楚js如何调用Android原生,可以先参考我的这篇博客React Native实现js调用安卓原生代码 1 问题 上面的文章只是调用安卓原生显示Toast,但是我们一般会需要调用安卓的代码然 ...
- android自定义Dcloud插件,调用android原生界面并获取返回数据
由于工作的需要,所以我接触到了Dcloud这个我不是很愿意接触的东西.Dcloud也是Webapp的一个工具,同样也可以用来做原生android的插件.比较一下Dcloud和Cordova的优缺点: ...
最新文章
- java中Arrays.sort()实现原理
- javascript实现二叉搜索树
- Theano+Keras开发环境搭建(最简单的教程)
- 计算机word数字逆序输出,如何让word中的内容倒序排列
- 1流式细胞术荧光比值计算_浅谈流式细胞仪的工作原理和应用
- Python迷宫游戏(基础版)
- Xshell学生版免费下载使用
- python的类,复现assert和eval成功失败原因
- Nginx负载均衡配置实例详解(转发学习)留给未来需要的自己
- 总结:pytorch对应版本安装
- 什么是负载均衡器 负载均衡器的功能
- 读了本书《3000美金,我周游了世界》
- Linux系统编程——execl函数族
- Spring学习(二)—— 对象创建方式及依赖注入
- 2022数学建模国赛如何安排进度?川川学长精心讲解
- Windows 7 bluetooth 外围设备 解决方案
- 学习记录01:使用pyqt5搭建yolo3目标识别界面
- 「切图仔日常」浅谈加载动画两板斧
- 环卫保洁人员巡更定位作业管理系统
- ffmpeg.dll下载 附丢失的解决办法
热门文章
- Patternodes 2 for Mac(图案花纹重复设计工具)
- UltraEdit+注册机+激活方法全攻略(亲测有效)
- 虚拟内存(深入理解计算机系统原书第3版9节读书笔记)
- Flutter和原生iOS调用相册
- MacOS 配置 Fvm环境
- FFmpeg XAVC实现/XAVC编码标准调研 (1)
- java 微信昵称过滤表情
- 立春后赏雾凇最佳去处
- ipython notebook简易使用教程
- matlab 转 python函数_Matlab函数strel(“ line”)转换为python