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 하지 않고 카메라 어플이 죽어버립니다.
뭐가 문제일까요 ㅠ ㅠ?




http://www.androidpub.com/index.php?mid=android_dev_info&search_target=title&search_keyword=%EC%B9%B4%EB%A9%94%EB%9D%BC&document_srl=837593
폰이라 링크가 이상하네요 =_=; 단영님 글입니다~