Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
String url = "tmp_" + String.valueOf(System.currentTimeMillis()) + ".jpg";
mImageCaptureUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), url));
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageCaptureUri);
      
intent.putExtra("return-data", true);
startActivityForResult(intent, PICK_FROM_CAMERA);

 

으로 카메라 액티비티 실행시키고

 

onActivityResult  메소드에서

 

case PICK_FROM_CAMERA:

   Intent intent = new Intent("com.android.camera.action.CROP");
   intent.setDataAndType(mImageCaptureUri, "image/*");
   intent.putExtra("outputX", 110);
   intent.putExtra("outputY", 110);
   intent.putExtra("aspectX", 1);
   intent.putExtra("aspectY", 1);
   intent.putExtra("scale", true);
   intent.putExtra("return-data", true);
   
   startActivityForResult(intent, CROP_FROM_CAMERA);
   break;
  case CROP_FROM_CAMERA:
   final Bundle extras = data.getExtras();
   if (extras != null) {
    Bitmap photo = extras.getParcelable("data");
    // mPhotoImageView.setImageBitmap(photo);
   }


   File f = new File(mImageCaptureUri.getPath());

   if (f.exists()) {
    f.delete();
   }

   break;

 

 

와 같이 핸들링해서,   사진찍은 파일을  CROP 해서 imgeview에 뿌려주는 기능을 작성하는데( 코드상에서 이미지 뷰에 셋하는 부분은 주석이네요 )  실행하면 카메라 어플 작동해서 사진 촬영까진 되는데,  CROP 하지 않고  카메라 어플이 죽어버립니다.

 

뭐가 문제일까요 ㅠ ㅠ?