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原生相机代码分析相关推荐

  1. h5调用安卓原生相机、相册、电话、录像,且兼容安卓系统8.0

    前言 安卓原生组件webview加载h5的URL,若要h5调用安卓原生相机和相册有效需要做以下操作. 测试机:魅蓝note2  系统5.1.1 华为荣耀畅玩7x  系统8.0.0 一.h5页面相关 方 ...

  2. H5调用Android原生Api

    Android 与H5交互之跳转拦截 Android拦截跳转,实现web调用原生Api 定义变量 在Android代码设置回调事件 前端代码 判断url是否合法 根据不同的type执行不同的操作 An ...

  3. h5 调用ios原生相机拍照上传照片

    1.html中的点击按钮和回调显示标签---------------直接上代码 <!DOCTYPE html> <html lang="en"> <h ...

  4. android 自定义相机源码,Android 自定义相机及分析源码

    Android 自定义相机及分析源码 使用Android 系统相机的方法: 要想让应用有相机的action,咱们就必须在清单文件中做一些声明,好让系统知道,如下 action的作用就是声明action ...

  5. html5 调用系统相册,iOS之H5调用系统相册相机浏览文件

    在我们iOS开发中大家遇到过H5和原生交互,需要上传文件,刚开始的思路肯定是在之前轻车熟路的js交互中原生方法获取文件之后上传,今天我们了解一个新的方法,其实苹果官方给我们提供了一个更简单的方法, H ...

  6. h5前端调用android拍照功能,H5调用Android拍照和摄像以及选取相册

    之前一直认为H5调用Android,H5不需要Android配合能直接实现功能.前段时间,自己做这个功能,才发现不是这么回事. H5编写 html文件里只需要标签即可实现代码,代码如下所示: 拍照 ο ...

  7. Qt for Android调用android原生Toast控件

    用Qt开发Android应用,有时候会想着直接调用android原生的一些组件或者打开某些android的系统界面,比如调用Toast显示消息提醒.打开android系统设置页面.这里主要讲解如何通过 ...

  8. React Native之js调用Android原生使用Callback传递结果给js

    如果不清楚js如何调用Android原生,可以先参考我的这篇博客React Native实现js调用安卓原生代码 1 问题 上面的文章只是调用安卓原生显示Toast,但是我们一般会需要调用安卓的代码然 ...

  9. android自定义Dcloud插件,调用android原生界面并获取返回数据

    由于工作的需要,所以我接触到了Dcloud这个我不是很愿意接触的东西.Dcloud也是Webapp的一个工具,同样也可以用来做原生android的插件.比较一下Dcloud和Cordova的优缺点: ...

最新文章

  1. java中Arrays.sort()实现原理
  2. javascript实现二叉搜索树
  3. Theano+Keras开发环境搭建(最简单的教程)
  4. 计算机word数字逆序输出,如何让word中的内容倒序排列
  5. 1流式细胞术荧光比值计算_浅谈流式细胞仪的工作原理和应用
  6. Python迷宫游戏(基础版)
  7. Xshell学生版免费下载使用
  8. python的类,复现assert和eval成功失败原因
  9. Nginx负载均衡配置实例详解(转发学习)留给未来需要的自己
  10. 总结:pytorch对应版本安装
  11. 什么是负载均衡器 负载均衡器的功能
  12. 读了本书《3000美金,我周游了世界》
  13. Linux系统编程——execl函数族
  14. Spring学习(二)—— 对象创建方式及依赖注入
  15. 2022数学建模国赛如何安排进度?川川学长精心讲解
  16. Windows 7 bluetooth 外围设备 解决方案
  17. 学习记录01:使用pyqt5搭建yolo3目标识别界面
  18. 「切图仔日常」浅谈加载动画两板斧
  19. 环卫保洁人员巡更定位作业管理系统
  20. ffmpeg.dll下载 附丢失的解决办法

热门文章

  1. Patternodes 2 for Mac(图案花纹重复设计工具)
  2. UltraEdit+注册机+激活方法全攻略(亲测有效)
  3. 虚拟内存(深入理解计算机系统原书第3版9节读书笔记)
  4. Flutter和原生iOS调用相册
  5. MacOS 配置 Fvm环境
  6. FFmpeg XAVC实现/XAVC编码标准调研 (1)
  7. java 微信昵称过滤表情
  8. 立春后赏雾凇最佳去处
  9. ipython notebook简易使用教程
  10. matlab 转 python函数_Matlab函数strel(“ line”)转换为python