으로 호출하면 취소 누를 시 선택된것도 취소 되는거 아닌가요?
소스를 보면 우선 사진 갤러리 호출 부분은 아래 와 같이 호출하고요.
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType(android.provider.MediaStore.Images.Media.CONTENT_TYPE);
intent.setData(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
// 결과를 리턴하는 Activity 호출
startActivityForResult(intent,REQUEST_CODE_GALLERY);
받는 부분
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
내용생략 .....
switch (requestCode) {
//사진 선택
case REQUEST_CODE_GALLERY:
Intent intend = new Intent("com.android.camera.action.CROP");
intend.setData(data.getData());
ContentValues values = new ContentValues();
values.put(Media.TITLE, "crop Image");
values.put(Media.BUCKET_ID, "User");
values.put(Media.BUCKET_DISPLAY_NAME, "image");
values.put(Media.IS_PRIVATE, 1);
values.put(Media.MIME_TYPE, "image/jpeg"); //확장자 안붙이면 사진 깨짐
cropUri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
intend.putExtra("output", <meta charset="utf-8">cropUri); //결과받을 Uri
startActivityForResult(intend, REQUEST_CODE_EDIT_PICTURE);
break;
//사진 자른 후
case REQUEST_CODE_EDIT_PICTURE:
//정상 종료
if(resultCode == RESULT_OK){
//질문 1.
//여기서 intend.putExtra("output", cropUri);거를 받아서 넘겨 보려고 하는데요.
//data.hasExtra("output") 이런식으로 구분하면 안되는건가요?
//cropUri는 자른 이미지의 주소이라고 생각하는 데 틀린건가요?
if(){
}
//비정상 종료
}else {
//질문 2.
//사진 자르기 시(cropImage) 저장, 취소 버튼이 잇는데 저장하면 저장이 잘되는데요
//취소를 누르면 위에서 말한거처럼 사이즈가 0이 되면서 깨진 파일이 만들어지는데
//crop 상태에서는 자동으로 백버튼이 먹는게 아닌가요?(저장 안되면서)
//아니라면 어떻게 처리해야하나요
}
break;
}
답변좀 부탁드립니다.