안녕하세요
안드로이드 앱을 개발하고 있는 초짜 입니다...^^;
앱 구현 과정중 내장 카메라를 사용할 일이 있어 구현했는데,
카메라를 종료하면
onActivityReslut()함수에서 requestCode와 resultCode, data를 갖고 오게 되자나요 ?
근데 requestCode는 잘 받아 오는데, resultCode값이 0이 됩니다..ㅠ
-1이 되야 RESULT_OK와 일치하여 내부 실행을 하는데 안되네요 ㅠ
고수님들 조언 부탁합니다. ㅠㅠ
// 내장 카메라 실행
Intent intent_Camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent_Camera.putExtra(MediaStore.EXTRA_OUTPUT, photo_uri);
startActivityForResult(intent_Camera, CAMERA_SHOOT);
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
Toast.makeText(this, " : "+requestCode, Toast.LENGTH_LONG).show();
switch(requestCode){
case CAMERA_SHOOT:
// 카메라로 사진을 찍고 저장했을 시
Toast.makeText(this, " : "+resultCode, Toast.LENGTH_LONG).show();
if(resultCode == Activity.RESULT_OK){
try{
Toast.makeText(this, "Camera Exit1", Toast.LENGTH_LONG).show();
// data가 있을 경우
if(bitmap != null && !bitmap.isRecycled()){
bitmap.recycle();
bitmap = null;
}
// 사진 종료 시 화면에 비트맵으로 이미지를 출력한다
bitmap = (Bitmap)data.getExtras().get(MediaStore.EXTRA_OUTPUT);
preview.setImageBitmap(bitmap);
아니면 혹시, onStart()함수만 있어서 그런가요 ??;
잘 모르겠습니다..ㅠ




resultCode 값이 0이면 사용자가 카메라에서 취소 버튼을 누른 것 아닌가요?
(Activity.RESULT_CANCELED = 0)