Android网页WebView图片文件上传的问题

发布时间:2020-07-13 22:48:15

来源:51CTO

阅读:5922

作者:拾荒者老大

在安卓下,webview上传图片点击是没用的,需要自己写一下.

网上关于这个的很多,基本都是抄来抄去,没什么用的.

这个日期比较新,而且能用

http://blog.csdn.net/djcken/article/details/46379929#comments

就是自定义实现 WebChromeClient

然后重写  openFileChooser  方法,获取ValueCallback valueCallback

当然,要注意不同版本的区别.,但5.0+的项目,就不能用了.回复里有答案.

就是重写 onShowFileChooser 但这次是ValueCallback valueCallback

虽然麻烦点,但能实现

使用腾讯X5内核http://x5.tencent.com/  不用去考虑那些版本兼容,只要重写openFileChooser 获取ValueCallback valueCallback

在这些方法 可以直接跳转相册或相机,也可以弹出对话框来选择;

只需在onActivityResult 方法获取android.net.Uri 对象就行

跳转相册:

Intent intent = Intent(Intent., );

intent.setDataAndType(MediaStore.Images.Media., );

startActivityForResult(15);

相册结果:Uri uri = data.getData();跳转相机 :private Uri photoUri;

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

ContentValues values = new ContentValues();

photoUri = context.getContentResolver().insert(

MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);

startActivityForResult(16);

相机结果:  直接 photoUri 就行

把图片给网页,用刚才获取的valueCallback

valueCallback.onReceiveValue(uri);

如果用户取消就

valueCallback.onReceiveValue(null);

然后每次都要  uriValueCallback = null;

这些和网上的基本一样,但今天被一个问题坑了很久...

错误日志是这样的

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=18, result=0, data=null} to activity {com.tugouzhong.micromall/com.tugouzhong.user.WebActivity}: java.lang.IllegalStateException: showFileChooser result was already called

at android.app.ActivityThread.deliverResults(ActivityThread.java:3609)

at android.app.ActivityThread.handleSendResult(ActivityThread.java:3652)

at android.app.ActivityThread.access$1300(ActivityThread.java:159)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1368)

at android.os.Handler.dispatchMessage(Handler.java:102)

at android.os.Looper.loop(Looper.java:135)

at android.app.ActivityThread.main(ActivityThread.java:5313)

at java.lang.reflect.Method.invoke(Native Method)

at java.lang.reflect.Method.invoke(Method.java:372)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1116)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:809)

Caused by: java.lang.IllegalStateException: showFileChooser result was already called

at com.tencent.smtt.webkit.x$14.a(Unknown Source)

at com.tencent.smtt.webkit.x$14.onReceiveValue(Unknown Source)

at com.tencent.smtt.sdk.o.a(Unknown Source)

at com.tencent.smtt.sdk.o.onReceiveValue(Unknown Source)

at com.test.user.WebActivity.onActivityResult(WebActivity.java:214)

at android.app.Activity.dispatchActivityResult(Activity.java:6240)

at android.app.ActivityThread.deliverResults(ActivityThread.java:3605)

at android.app.ActivityThread.handleSendResult(ActivityThread.java:3652)

at android.app.ActivityThread.access$1300(ActivityThread.java:159)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1368)

at android.os.Handler.dispatchMessage(Handler.java:102)

at android.os.Looper.loop(Looper.java:135)

at android.app.ActivityThread.main(ActivityThread.java:5313)

at java.lang.reflect.Method.invoke(Native Method)

at java.lang.reflect.Method.invoke(Method.java:372)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1116)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:809)

这个是用的x5内核的日志,用系统的也是java.lang.IllegalStateException这个问题.

网上找竟然没发现同样问题的人....

自己看了下,原来是在openFileChooser方法里调用了

super.openFileChooser(valueCallback, acceptType, captureType);

把这句删掉就行;

android webview 多文件上传,Android网页WebView图片文件上传的问题相关推荐

  1. android相册拍照剪切上传封装,安卓,图片裁剪上传真机测试好使,打包后显示:无法保存裁剪的图像...

    var IMAGE_UNSPECIFIED = "image/*"; var PHOTOZOOM = 2; // 获取完图片返回key var PHOTOLAT = 1; // 剪 ...

  2. Android开发笔记(三十三)文本文件和图片文件的读写

    文本文件读写 简单文件读写一般是借助于FileOutputStream和FileInputStream,其中FileOutputStream用于写文件,而FileInputStream用于读文件. 写 ...

  3. php 上传类 缩略图,php图片文件上传类 (附自动生成缩略图) | 学步园

    /** 作 者:冻结回忆 (linghunts@163.com); 功 能:文件上传类 支持文件夹自动分组保存(2008-01/09); 时 间:2007-10-17; 创建类:参数(文件域,文件原名 ...

  4. 【Android 应用开发】Paint 滤镜原理 之 图像结构 ( 图片文件二进制分析 | PNG文件结构 | 数据块结构 | IHDR 数据块详解 )

    文章目录 图形文件准备 ( PNG 文件 ) PNG 文件信息分类 数据块结构 IHDR 数据块 简介 IHDR 数据块 结构 图形文件准备 ( PNG 文件 ) 分析的文件准备 : 1.创建文件 : ...

  5. java 移动页面中的图片上传_移动端图片操作——上传

    上传我们一般都是用"input[type=file]"控件.当你用此控件时,你就授权了网页和服务器访问对应的文件,就可以得到File对象. 友情提示在,在Android手机webv ...

  6. 把网页放到云服务器上,怎么把网页放到云服务器上

    怎么把网页放到云服务器上 内容精选 换一换 Linux操作系统云服务器的安全组出方向已按照元数据获取的前提条件进行配置,但是无法通过169.254.169.254获取元数据.在配置了静态IP的Linu ...

  7. 服务器上怎么做网页啊,云服务器上怎么做网页

    云服务器上怎么做网页 内容精选 换一换 企业主机安全(Host Security Service,HSS)是提升服务器整体安全性的服务,通过主机管理.风险防御.入侵检测.安全运营.网页防篡改功能,可全 ...

  8. 如何在把网页放到服务器上,怎么把网页放到云服务器上

    怎么把网页放到云服务器上 内容精选 换一换 安全组类似防火墙功能,是一个逻辑上的分组,用于设置网络访问控制.用户可以在安全组中定义各种访问规则,当云耀云服务器加入该安全组后,即受到这些访问规则的保护. ...

  9. 如何将写好的网页放在服务器上,怎么把网页放在云服务器上

    怎么把网页放在云服务器上 内容精选 换一换 用户的弹性云服务器已绑定EIP,但是无法连接到Internet.弹性云服务器通过EIP访问Internet的流程如图1所示:本问题请按照以下思路进行排查处理 ...

  10. 小程序一次性上传多个本地图片,上拉加载照片以及图片加载延迟解决之道

    一:小程序之一次性上传多个本地相片 最近由于项目需要所以学了下小程序,也做了一些东西,随后便有了以下的一些总结了,现在说说如何使用小程序一次性上传多个本地相片. 问题描述 最近做项目的时候要实现一个上 ...

最新文章

  1. java camel dsl,Apache Camel与Spring DSL
  2. 6kyu Steps in k-prime
  3. 更改eclipse tomcat jvm heap
  4. 创建容器时[Warning] IPv4 forwarding is disabled. Networking will not work.
  5. zabbix的安装配置
  6. 转jpg java源程序_将pdf文件转成图片并删除java源代码
  7. Javascript---Immediately-Invoked Function Expression (IIFE)立即执行的函数表达式
  8. OpenCV——高效遍历图像(C++版本)
  9. Git ssh_key生成方法
  10. JDK 和 JRE 有什么区别
  11. matlab2010a中文,MATLAB 2010a解决中文字体乱码的方法
  12. eXosip订阅问题分析
  13. 移动硬盘提示RAW的资料找到办法
  14. 运行edX Devstack
  15. 地图学的基础知识_天文坐标系_大地坐标系_地心坐标系及其相关概念
  16. 安装Visio失败提示安装即点即用版本 利用office部署工具安装visio2016
  17. EasyExcel 读取excel表 解决Empty row EasyExcel末尾出现非常多空白行跳过 EasyExcel跳过末尾空白行
  18. 数据库 Table is marked as crashed and should be repaired 解决办法
  19. insmod modprobe
  20. 为什么现在算法工程师薪酬这么高?

热门文章

  1. 从图像处理到语音识别,25款数据科学家必知的深度学习开放数据集
  2. uni-app 微信小程序使用emqx爬坑记录
  3. VMware将视觉Java工具Wavemaker转移到Pramati
  4. ubuntu14.04上安装oralce笔记
  5. 完全数python程序_Python完全数
  6. 微信小程序云开发教程一
  7. Mac5款高效实用软件,值得推荐
  8. 用iperf 对CentOS下千兆网卡带宽测试
  9. CBTC信号系统ATP子系统接口
  10. 《无线电与电视》杂志创刊50周年纪念版耳机放大器全解析