KitKat 之后选择相册图片的问题

跳转到相册选择图片 会用到

intent.setAction(Intent.ACTION_GET_CONTENT);

 

在onActivityResult返回的   data.getData()

在4.4之前

返回的Uri是这样的

content://media/external/images/media/20648

 

4.4之后

content://com.android.providers.media.documents/document/image%3A20648

 

这样在设置 启动 剪裁的Intent的时候 

intent.setDataAndType(data.getData(),"image/*");

 

部分4.4机型,如华为 就会提示无法加载此图片

但是vivo却没有问题,可能是vivo在系统底层做了一些处理

同样小米 做的处理就更明显了,输出的日志显示  直接获取的是图片文件的路径

 

下面这个类 可以通过4.4的Uri得到 图片的文件路径 

PhotoCropper/PathUtils.java at master · demonwei47/PhotoCropper  

https://github.com/demonwei47/PhotoCropper/blob/master/src/com/sixin/face/PathUtils.java

 

通过文件路径path 转化成Uri

intent.setDataAndType(Uri.fromFile(new File(path)),"image/*");

 

 

解决方法

stackoverflow 

http://blog.csdn.net/zbjdsbj/article/details/42387551

 

 

最后demo地址

 

posted @ 2016-10-18 09:35  demon9  阅读(157)  评论(0编辑  收藏  举报