在Activity中加入以下代码段:
private final int CODE_CROP = 0x131;//用于请求系统剪裁的请求码
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case ImageCropUtil.Hand_Compress_Ok://图片压缩完成
modify_type = MODIFY_USER_HEAD_IMAGE;
File file = new File(ImageCropUtil.getHeadCompressPath());//图片地址在ImageCropUtil中定义好的固定值
mFiles.put(file.getName(), file);
presenter.modifyUserHeadImage(mFiles);
break;
}
}
};
一、在用户选择好图片后掉用方法如下:(Activity中调用)
//跳转裁剪图片
ImageCropUtil.cropPhoto(this, headPath, CODE_CROP);
二、剪裁完成后调用压缩图片方法:【activity中的onActivityResult方法中调用】(可以不调用,如果不调用你就发送到服务端很可能报错:accep 427 byte but received 8192)
if (requestCode == CODE_CROP && resultCode == RESULT_OK) {
ImageCropUtil.compress15k(this, ImageCropUtil.ouputFilePath, handler);
}
三、剪裁完成后会返回到handler中