Intent intent = new Intent( android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
String url = DefaultValue.TemporalImage;
Uri uri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), url));
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent, ActivityCode.Camera);
이런 방법으로 camera를 호출하여서 캡쳐뒤
Uri output_uri = Uri.fromFile( new File( Environment.getExternalStorageDirectory(), DefaultValue.TemporalImage ) );
intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType( uri, "image/*");
intent.putExtra("outputX", 720);
intent.putExtra("outputY", 480);
intent.putExtra("aspectX", 3);
intent.putExtra("aspectY", 2);
intent.putExtra("scale", true);
intent.putExtra("output", output_uri);
startActivityForResult(intent, ActivityCode.Crop);
이렇게 Crop하는데요..
다른 Camera App을 사용하여 캡쳐뒤 Crop 하면 문제 없었는데 갤럭시 S2 ICS에 기본 탑재된 Camera를 써보니 Activity가 종료 되어서
다시 호출되어 기존 화면에 있던 Fragment Activity Stack이 비워집니다.
갤럭시 S2 ICS에 기본 탑재된 Camera를 써도 대다수 안되기는 하지만 어떨때는 제대로 동작해서 다른 카메라 App으로는 아직 발견 안되었지만 비슷한 케이스가 있을 수 있지 않을까 싶습니다.
혹시 비슷한 경우를 아시거나 Activity가 강제로 onDestroy되는 경우를 아시면 조언 부탁드립니다.
요기 한번 참고해 보세요.
http://arabiannight.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9CAndroid-%EC%82%AC%EC%A7%84-%EA%B0%A4%EB%9F%AC%EB%A6%AC-Image-Crop-%ED%9B%84-MMS-%EC%A0%84%EC%86%A1-%ED%95%98%EA%B8%B0