详见代码:
/**
*相册回调处理
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
ContentResolver resolver = getContentResolver();
if (resultCode == RESULT_OK && requestCode == REQUEST_album){
if (data != null){
Uri uri = data.getData();
Bitmap mBitmap =null;
try {
//1.将相册返回的uri转为Bitmap
mBitmap = MediaStore.Images.Media.getBitmap(resolver,uri);
//2.压缩图片,第二个入参表示图片压缩率,如果是100就表示不压缩
ByteArrayOutputStream bos=new ByteArrayOutputStream();
mBitmap.compress(Bitmap.CompressFormat.JPEG, 40, bos);
//3.将压缩后的图片进行base64编码
byte[] bytes=bos.toByteArray();
String s = Base64.encodeToString(bytes, Base64.DEFAULT);
//4.将base64解码,转为bitmap并显示在imageview中看效果
byte[] decodedString = Base64.decode(s, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
myPic_iv.setImageBitmap(decodedByte);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}