介绍 1,文件选择
小编给大家分享一下安卓如何使用腾讯X5浏览器上传图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
这几天在客户端接入一个Web页的客服系统,用来接受用户的反馈和建议.Android客户端集成这个客服H5之后,图片死活传递不上去。看了一下iOS同事的集成效果,可以自由上传图片,再把H5的地址用Android原生浏览器打开,也可以正常打开相册上传图片。
看了一些博客,使用安卓的WebView在默认情况下是不能够支持上传文件的(需要重写alt=" Android如何使用腾讯X5浏览器上传图片">
1,文件选择
方法一:文件单选:设置客户端回调
mWebView.setWebChromeClient (new WebChromeClient (), { @Override才能 public 才能;void  openFileChooser ( ,,,ValueCallback,还是, ,,,String acceptType,, ,,,String captureType), { ,,,//保存对应的valuecallback供选择后使用 ,,,//通过startActivityForResult启动文件选择窗口或自定义文件选择 ,,}, });
文件多选:设置客户端回调
mWebView.setWebChromeClientExtension (new ProxyWebChromeClientExtension (), { @Override才能 public 才能;void  openFileChooser ( ,,,android.webkit.ValueCallback方法二:设置客户端回调(单选多选均会回调该接口)
mWebView.setWebChromeClient (new WebChromeClient (), { @Override才能 public 才能;boolean  onShowFileChooser ( ,,,IX5WebViewBase webView,, ,,,ValueCallback然后在活动返回时将用户的选择设置给对应的ValueCallback
protected void onActivityResult (int requestCode, int resultCode,, Intent 数据),{//才能如果是文件选择 if 才能;(resultCode ==, RESULT_OK), { ,,,//给文件选择的ValueCallback设置onReceiveValue值 ,,},else if (resultCode ==, RESULT_CANCELED), { ,,,//给文件选择的ValueCallback设置零值 ,,} }2,实现文件单选
在项目自定义的WebChromeClient中,重写openFileChooser方法,调用项目中图片选择组件,图片选择成功后将生成的uri使用valueCallback回调,即可上传成功
,,//,图片单选上传 @Override才能 public 才能;void  openFileChooser (ValueCallback实现效果:
3,举个例子
为简单起见,集成一个第三方的图片选择控件
github.com/thewyp/Avat…
集成方式:
dependencies { ,,,,,,,… ,,,,,,,compile & # 39; me.thewyp:《阿凡达》:1.0.4 # 39; ,,,,,}使用方式:
new AvatarStudio.Builder (activityContext) ,,,,,,,,,,,,,.needCrop(真正的)//是否裁剪,默认裁剪 ,,,,,,,,,,,,,.setTextColor (Color.BLUE) ,,,,,,,,,,,,,.dimEnabled(真正的)//背景是否dim 默认真 ,,,,,,,,,,,,,.setAspect(1, 1)//裁剪比例,默认1:1 ,,,,,,,,,,,,,.setOutput(200,, 200)//裁剪大小,默认200 * 200 ,,,,,,,,,,,,,. settext(“打开相机“,,“从相册中选取“,,“取消“) ,,,,,,,,,,,,,,告诉(new AvatarStudio.CallBack (), { ,,,,,,,,,,,,,,@Override null null null null null null null null null null null null null null null null null null null null null null null null null null null nullAndroid如何使用腾讯X5浏览器上传图片