카메라로 사진찍어서 저장한 뒤, 해당 사진의 Uri 를 받아오는게 해야할 일입니다.
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);
startActivityForResult(intent, PICK_FROM_CAMERA);
와 같이 코딩하여 카메라 액티비티를 부릅니다.
임시파일을 만들어서 그 파일을 가지고 논다음에 지우는 방식을 택했습니다.
onActivityResult에서 getData 로 받아오니까 자꾸 Uri 가 null 이 리턴되고
bitmap 으로 받아서 하는 건 배제한 방법입니다. ( Uri 가 필요하기 때문에 .. )
그런데 문제는
onResultActivity 메소드 내에서
case PICK_FROM_CAMERA:
blah blah~ 인데
blah blah 에서 별다른 짓을 하지 않았는데
mImageCaptureUri 가 null 이 되어버립니다.
왜 이런지 도무지 알 수가 없는데 혹 아시는 분계신가요?
열심히 찾아보고 해봐도 다 제대로 되질 않네요 ㅠㅠ
저도 LifeClue 님의 말처럼 청바지님의 방식을 택해서 개발은 하였는데요
(그 내용은 http://www.androidpub.com/837593 이 글에 청바지님의 댓글을 참조하시면 되구요)
중요한건 아트릭스랑 넥서스S에서 안되는 문제를 어떻게 해결해야 할지가 고민입니다.ㅜㅜ
그부분에 대한 정보를 찾아봐도 도움이 될만한 내용이 없더라구요.
LifeClue 님의 말대로 이 방법이 가장 호환성 좋다면... 아트릭스랑 넥서스S 유저는 포기 해야 되는건지...
답답해서 댓글 남겨 봅니다.
혹시 이 부분에 대한 정보 있으면 공유즘 부탁 드립니다.




몇몇 기기에서 아웃풋으로 넘긴 Uri를 널로 만들어버리는 경우가 생기는데,
이건 사실 어찌할 바를 모르겠더군요;
그래서 저는 청바지님 말씀처럼 사진을 촬영하고, 가장 마지막에 디비에 등록된 이미지의 Uri를 취하는 방식을 택했습니다~
이마저도 좀 문제가 있지만...
(넥서스S에서 다른 사진을 불러오는 문제, 아트릭스에서 단말 회전 방향에 따른 촬영물 방향 수정이 안되고, 폰 배경화면으로 설정되는...;)
아트릭스의 경우는 크롭 인텐트 사용에 따른 문제라고 의심만 하고 있고, 넥서스S는 딜라이트에서 발견만 했을 뿐 원인을 전혀 밝혀내지 못하고 있지만
해 본 방법 중 가장 호환성 좋은 방법은 촬영하고, 마지막에 디비에 등록된 Uri를 받아와서, 파일을 복사해서 쓰는 방식입니다.
복사해서 쓰는 이유는 SK W폰에서 제대로 작동하지 않기 때문입니다.
서러워 북받쳐서 주저리가 심했네요 ㅋ
고생하세요~