Android WebView上传文件的问题 AlertDialog取消选择
2014-11-27 16:43
696 查看
最近的项目需要用到在WebView里选择文件上传的功能。
在网页上有个input节点,类型为file。在WebView里点击时就可以执行相应的Android代码。
响应WebView的点击事件后,我在WebView页面上弹出了一个AlertDialog,可以选择拍照、从相册选择等功能。在对话框以外的区域点击的话,对话框就会消失。
经过一番折腾,拍照和从相册选择功能都正常了。但是当我在对话框弹出之后直接选择了取消,这个input就没法点击了,除非重新进入这个页面,否则就无法继续上传文件。
经过半天的努力,我发现在正常选择拍照或从相册选择文件返回时,在onActivityResult里执行了onReceiveValue(Uri uri)方法,这就完成了一个完整的文件上传流程。但是直接取消时,没有执行任何代码,所以上传的过程还处于挂起状态,所以需要手工处理一下。只要在取消上传之后上传一个null就可以了。
于是可以监听取消对话框的动作。如果Dialog消失时没有上传文件,调用onReceiveValue(null)即可。
至于其它的代码,网上很多。略。
在网页上有个input节点,类型为file。在WebView里点击时就可以执行相应的Android代码。
响应WebView的点击事件后,我在WebView页面上弹出了一个AlertDialog,可以选择拍照、从相册选择等功能。在对话框以外的区域点击的话,对话框就会消失。
经过一番折腾,拍照和从相册选择功能都正常了。但是当我在对话框弹出之后直接选择了取消,这个input就没法点击了,除非重新进入这个页面,否则就无法继续上传文件。
经过半天的努力,我发现在正常选择拍照或从相册选择文件返回时,在onActivityResult里执行了onReceiveValue(Uri uri)方法,这就完成了一个完整的文件上传流程。但是直接取消时,没有执行任何代码,所以上传的过程还处于挂起状态,所以需要手工处理一下。只要在取消上传之后上传一个null就可以了。
于是可以监听取消对话框的动作。如果Dialog消失时没有上传文件,调用onReceiveValue(null)即可。
至于其它的代码,网上很多。略。
相关文章推荐
- Android 解决WebView无法上传文件的问题
- android webview图片文件上传兼容性问题——上传控件点击无效的解决办法
- Android使用webview加载网页,解决上传文件适配3.0、4.0、5.0手机存在的问题。
- Android WebView 选择图片并上传(调用相机拍照/相册/选择文件)
- 在Android浏览器中通过WebView调用相机拍照/选择文件 上传到服务器
- Android学习之实现WebView中input="file"选择文件,处理选择图片无法返回类型问题
- Android WebView选择本地文件上传
- Android网页WebView图片文件上传的问题
- Android通过WebView选择文件上传(支持直接调起相机等应用)
- Android通过WebView选择文件上传(支持直接调起相机等应用)
- 在Android浏览器中通过WebView调用相机拍照/选择文件 上传到服务器
- 解决WebView文件上传无法重复选择问题
- webView文件上传取消弹窗后再次点击不响应点击事件问题
- 解决 react native 的 webview 组件不支持android客户端上传图片文件问题
- WebView调H5上传文件点击取消时无法再次响应H5上的选择文件事件
- Android WebView选择本地文件上传
- 解决Android中webview无法弹出文件选择框的问题
- Android 内嵌WebView之选择文件上传及扩展
- Android webview上传取消无响应
- android WebView 控件加载本地sdcard中html文件图片的问题