现象:
在做一个在线客服的功能模块时,有一个功能需要调用系统相册,上传图片。在部分机型上发现当调用系统相册的时候,应用直接崩溃了,无语。。。
Uri uri = data.getData();
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = this.getContentResolver().query(uri,
proj, null, null, null);
int index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String srcPath = cursor.getString(index);
cursor.close();
发现:
上面的方法只能够解析出以content开头的图片路径,却不能查找到fie开头的图片
小米手机拍照返回的uri地址:
uri==file:///storage/emulated/0/sina/weibo/weibo/img-3b8c08eed4f2be0009f56da1409998de.jpg
努比亚拍照返回的uri地址:
华为手机拍照返回的uri地址:
解决办法:
在得到图片路径之前加上判断,判断得到的uri是以什么开头的
参考见:
http://blog.csdn.net/yanxiaosa/article/details/52595215
网友评论