public
void
test( Uri imageUri ) {
Uri croppedUri = Uri.fromFile(
new
File(
"/sdcard/cropped.jpg"
));
startSystemCropImage(imageUri,croppedUri);
}
public
void
startSystemCropImage( Uri src, Uri dst ) {
Intent intent =
new
Intent(
"com.android.camera.action.CROP"
);
intent.putExtra(
"crop"
,
"true"
);
intent.setDataAndType(src,
"image/*"
);
intent.putExtra(MediaStore.EXTRA_OUTPUT,dst);
intent.putExtra(
"return-data"
,
false
);
startActivityForResult(intent, REQUEST_CODE_SYSTEM_CROPPER);
}
@Override
protected
void
onActivityResult(
int
requestCode,
int
resultCode, Intent data) {
if
(resultCode != RESULT_OK) {
return
;
}
if
( requestCode == REQUEST_CODE_IMAGE_CROPPER ) {
Uri croppedUri = data.getExtras().getParcelable(MediaStore.EXTRA_OUTPUT);
InputStream in =
null
;
try
{
in = getContentResolver().openInputStream(croppedUri);
Bitmap b = BitmapFactory.decodeStream(in);
mImageView.setImageBitmap(b);
}
catch
(FileNotFoundException e) {
e.printStackTrace();
}
}
super
.onActivityResult(requestCode, resultCode, data);
}