近期,针对金立手机,联想手机和vivoX9等部分手机拍照或选择图册照片之后裁切各种问题统一测试和调试发现问题汇总:
1、金立手机,android(3.0.X):
照相之后,点击直接返回页面,选择相册图片也没反应,不进入裁切界面;
2、联想手机,android(5.5.1,貌似):
拍照和相册选择图片之后可以进入裁切界面,但是裁切确定返回不显示图片;
3、vivoX9,android(6.0.1):
拍照直接裁剪上传正常,但是不能选择相册图片上传;
4、红米(note1)手机(4.4):
获取图片路径需要单独处理,因为返回的图片路径和其他不一样;
针对1-3问题,我搜索了好多解决方案无效之后,猜测是android6版本的权限问题需要单独处理,搜索了好多方法之后,找到了一篇关于裁切uri的说法:
新保存的图片uri和保存路径uri一致,导致保存冲突,部分手机上冲突导致保存文件为0字节,还有部分手机会将原图裁剪覆盖,导致原图被修改;
原来裁切方法如下:
empty
在Android调用系统方法对图片进行裁剪时,华为手机显示的图形会变成圆形,改为aspectX和aspectY不是1;1就好
if(android.os.Build.MODEL.contains("HUAWEI"))
{//华为特殊处理 不然会显示圆
intent.putExtra("aspectX", 9998);
intent.putExtra("aspectY", 9999);
}
else
{
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
}