< clipData.getItemCount(); i++) { ClipData.Item item = clipData.getItemAt(i); results[i] = item.getUri(); } } if (dataString != null) /** * 没有经过裁剪,直接取得的图片 */ results = new Uri[]{Uri.parse(dataString)}; } } /** * 如果经过了上面的处理,result 不为空,说明用户确实取得了图片,那么将 result 返回即可 * * 否则,返回空的图片(图片只有名字,并没有真正的图片) */ if (results != null) { myFileWebChromeClient.mFilePathCallbacks.onReceiveValue(results); myFileWebChromeClient.mFilePathCallbacks = null; } else { results = new Uri[]{myFileWebChromeClient.imageUri}; myFileWebChromeClient.mFilePathCallbacks.onReceiveValue(results); myFileWebChromeClient.mFilePathCallbacks = null; }}}为了方便使用,搞了一个类,再 onActivityResult 中调用即可
这样:
@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { MyFileOnActivityResult instance = MyFileOnActivityResult.getInstance(myFileWebChromeClient); instance.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);}3、在点击时,也要判断下是否赋予了 拍照 和 读写 sd 卡的权限,这里就不贴代码了
ok , 这样就能解决点击取消键,界面卡住的问题了 。
4、代码提交到 github 了,用户名 「guaju」,仓库名「AndroidCommonUtils」有需要看看吧
【H5 通过 input 标签调起 Android 相册,点击取消时手机卡住】
推荐阅读
- 如何通过 SSH 在远程 Linux 系统上运行命令
- SJ6000激光干涉仪通过科技成果鉴定
- 通过简单设置,让谷歌浏览器符合你的使用习惯
- 手机开淘宝网店的流程 淘宝开店审核一般多久通过
- Meta Description 描述标签的SEO优化
- 下列哪些途径可以进行淘宝开店认证? 淘宝店铺怎么通过认证
- 淘宝开店实名认证需要多久审核完成 淘宝开店认证已通过是不是已经开店成功了
- https站点无法通过Ajax访问http资源(Mixed Content,The page at
- 通过练太极拳调神经系统来治病
- 如果通过写作在头条赚钱?最全的自媒体攻略来了,我的经历很值得你借鉴