项目中遇到  H5的input type="file" 标签在android的webview中失效,查了一下是安卓禁用掉了

重写webview 的WebChromeClient 可以解决

 webView.setWebChromeClient(new WebChromeClient(){// For 3.0+ Devices (Start)// onActivityResult attached before constructorprotected void openFileChooser(ValueCallback uploadMsg, String acceptType){mUploadMessage = uploadMsg;Intent i = new Intent(Intent.ACTION_GET_CONTENT);i.addCategory(Intent.CATEGORY_OPENABLE);i.setType("image/*");startActivityForResult(Intent.createChooser(i, "File Browser"), FILECHOOSER_RESULTCODE);}// For Lollipop 5.0+ Devices@TargetApi(Build.VERSION_CODES.LOLLIPOP)@Overridepublic boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {if (uploadMessage != null) {uploadMessage.onReceiveValue(null);uploadMessage = null;}uploadMessage = filePathCallback;Intent intent = fileChooserParams.createIntent();try{startActivityForResult(intent, REQUEST_SELECT_FILE);} catch (ActivityNotFoundException e){uploadMessage = null;Toast.makeText(getBaseContext(), "Cannot Open File Chooser", Toast.LENGTH_LONG).show();return false;}return true;}//For Android 4.1 onlyprotected void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture){mUploadMessage = uploadMsg;Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.addCategory(Intent.CATEGORY_OPENABLE);intent.setType("image/*");startActivityForResult(Intent.createChooser(intent, "File Browser"), FILECHOOSER_RESULTCODE);}protected void openFileChooser(ValueCallback<Uri> uploadMsg) {mUploadMessage = uploadMsg;Intent i = new Intent(Intent.ACTION_GET_CONTENT);i.addCategory(Intent.CATEGORY_OPENABLE);i.setType("image/*");startActivityForResult(Intent.createChooser(i, "File Chooser"), FILECHOOSER_RESULTCODE);}});
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {if (requestCode == REQUEST_SELECT_FILE){if (uploadMessage == null)return;uploadMessage.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode, data));uploadMessage = null;}}else if (requestCode == FILECHOOSER_RESULTCODE) {if (null == mUploadMessage)return;// Use MainActivity.RESULT_OK if you're implementing WebView inside Fragment// Use RESULT_OK only if you're implementing WebView inside an ActivityUri result = data == null || resultCode != NewQuanZi.RESULT_OK ? null : data.getData();mUploadMessage.onReceiveValue(result);mUploadMessage = null;}elseToast.makeText(getBaseContext(), "选择图片失败", Toast.LENGTH_LONG).show();}

可以解决3.1  4.1 5.0以上的版本的问题

android webview不支持input type=file 标签解决办法相关推荐

  1. input type=file 标签禁止让用户手动输入

    常规的Web应用程序中涉及到文件上传的部分都不可避免地会使用到<input type="file"/>控件,在上传文件的时候通过点击"浏览"按钮,在 ...

  2. 手机浏览器input type=file标签调用手机拍照+分片上传

    闲话不多说,开发背景也不是大家关心的话题.就直接说实现如题功能 首先,你的手机要支持html5吧(现在应该都支持吧) 然后,html代码只要一句<input>就够了 <input t ...

  3. 用ajax传值input file,获取 input type=file 标签的内容,并使用ajax进行请求到服务器...

    数据结构:栈 顺序表方法和单链表方法(python版) #!/usr/bin/env python # -*- coding:utf-8 -*- class StackUnderflow(ValueE ...

  4. ashx获取input file 文件_手机浏览器input type=file标签调用手机拍照+分片上传

    闲话不多路能需还定有开都视这讲房哦搞有名需移洁页说,开发背景也不是大家关心的话题.就直接说实现如题功朋支不器几事为的时后级功发发来久都这样含制层是请些间例业多在上能 首先,你的手机要支持html5吧( ...

  5. android web打开微信支付功能,android webview拉起微信h5支付错误解决办法

    这里坑比较深.网上说的方式也大多没有用.不废话带你解决 1.遇到的问题大概就"商家参数错误";"空白页";"系统繁忙"等等吧 2.问题解决: ...

  6. Android WebView 支持H5图片上传input type=file

    2019独角兽企业重金招聘Python工程师标准>>> Android WebView 缓存处理 Android WebView 支持H5图片上传<input type=&qu ...

  7. android webview file,Android WebView 不支持 H5 input type=file 解决方法

    最近因为赶项目进度,因此将本来要用原生控件实现的界面,自己做了H5并嵌入webview中.发现点击H5中 input type="file" 标签 不能打开android资源管理器 ...

  8. android webview使用html5input id=input type=file/ 上传相册、拍照照片

    本人编程新手,这次做的功能是android webview 嵌入HTML5的页面,页面中有一个<input id="input" type="file"/ ...

  9. [转载]input[type=file]在移动端各浏览器无法适配打开相机的问题。

    原文地址:input[type=file]在移动端各浏览器无法适配打开相机的问题.作者:韩小文 近期有一需求是拍照上传用户头像并能进行区域性的截取操作. 故使用了input[type=file]标签进 ...

  10. Android webview Input type=file 文件上传 解决方法

    默认的情况下在HTML中 写 <input type=file /> 的时候回弹出选择文件的窗口,但实际上在webview中默认的是不弹出窗口的 解决方法 在WebChromeClient ...

最新文章

  1. nc65语义模型设计_完整word版,NC数据加工做语义模型
  2. 嫦娥五号样本研究登上Science:比阿波罗号样本“年轻”10亿年,填补了月球年龄研究空白期...
  3. ldd,locate,vimdiff
  4. 一个python网上文档
  5. POJ 2195 Going Home 最小费用最大流
  6. python if else格式_Python if else条件语句详解
  7. UNION 和UNION ALL 的区别
  8. java 7 泛型_Java(7)泛型
  9. 搭建Mock Server实践(一)理论篇
  10. 用java语言编写的操作系统属于_为什么操作系统不是用java编写的?
  11. 适合pythonpandas的软件_11个Python Pandas小技巧让你的工作更高效(附代码实例)
  12. android垂直排列元素_元素的视图属性之client
  13. nginx搭建高性能流媒体技术
  14. 编译器错误~写JS还是谨慎点好
  15. linux 内核 addr2line,linux内核调试技巧之addr2line
  16. 安卓选择市区的省市区联动
  17. 一文看懂:全球半导体供应链分类汇总
  18. yocto 下载代理
  19. 存储公司芯天下IPO上市申请获受理---义嘉泰骄傲的合作伙伴
  20. Vue CLI 3结合Lerna进行UI框架设计

热门文章

  1. 计算跑步时的热量消耗
  2. 工控硬件芯片级电路板维修方法
  3. JAVAOooooo。。。。。ooo0000OOOOO
  4. 带符号整数中负数采用什么编码_转载:二进制编码--负数
  5. 解决鼠标滚动时页面上下跳动的问题
  6. 老兵新传 Visual Basic核心编程及通用模块开发pdf
  7. 毁三观:从 onSavedInstanceState 中取值竟为空?!
  8. 曹雪芹的诗歌鸿蒙,曹雪芹的诗
  9. 计算机可能发科学,行测真题_随着科学技术的进步,电脑的问世让人类制造这样的机器“耳朵”成为可能...
  10. 力扣刷题 DAY_80 贪心