首页 > 代码库 > Android网页WebView图片文件上传的问题
Android网页WebView图片文件上传的问题
在安卓下,webview上传图片点击是没用的,需要自己写一下.
网上关于这个的很多,基本都是抄来抄去,没什么用的.
这个日期比较新,而且能用
http://blog.csdn.net/djcken/article/details/46379929#comments
就是自定义实现 WebChromeClient
然后重写 openFileChooser 方法,获取 ValueCallback<Uri> valueCallback
当然,要注意不同版本的区别.,但5.0+的项目,就不能用了.回复里有答案.
就是重写 onShowFileChooser 但这次是 ValueCallback<Uri[]> valueCallback
虽然麻烦点,但能实现
使用腾讯X5内核http://x5.tencent.com/ 不用去考虑那些版本兼容,只要重写openFileChooser 获取 ValueCallback<Uri> 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=http://www.mamicode.com/null} to activity {com.tugouzhong.micromall/com.tugouzhong.user.WebActivity}: java.lang.IllegalStateException: showFileChooser result was already called>
本文出自 “苍蝇学android” 博客,请务必保留此出处http://qq445493481.blog.51cto.com/9545543/1856943
Android网页WebView图片文件上传的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。