最近公司项目需要在WebView上调用手机系统相册来上传图片,开发过程中发现在很多机器上无法正常唤起系统相册来选择图片。
创新互联专注于迁西网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供迁西营销型网站建设,迁西网站制作、迁西网页设计、迁西网站官网定制、成都小程序开发服务,打造迁西网络公司原创品牌,更为您提供迁西网站排名全网营销落地服务。解决问题之前我们先来说说WebView上传文件的逻辑:当我们在Web页面上点击选择文件的控件()时,会回调WebChromeClient下的openFileChooser()(5.0及以上系统回调onShowFileChooser())。这个时候我们在openFileChooser方法中通过Intent打开系统相册或者支持该Intent的第三方应用来选择图片。like this:
public void openFileChooser(ValueCallbackvalueCallback, String acceptType, String capture) { uploadMessage = valueCallback; openImageChooserActivity(); } private void openImageChooserActivity() { Intent i = new Intent(Intent.ACTION_GET_CONTENT); i.addCategory(Intent.CATEGORY_OPENABLE); i.setType("image/*"); startActivityForResult(Intent.createChooser(i, "Image Chooser"), FILE_CHOOSER_RESULT_CODE); }
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款