안드로이드 개발 질문/답변
(글 수 45,052)
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("return-data", true);
Uri mImageCaptureUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "test.jpg"));
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageCaptureUri);
startActivityForResult(intent, CommonConstant.move_view_camera);
이렇게 해서 카메라를 구동 했습니다.
카메라 구동후 캡쳐 한다음에 완료를 하면
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
}
메소드를 호출할줄 알았는데 실제로는 카메라 구동되기전에 위 메소드가 호출되고
카메라를 선택할수 있게 나오네요.
그래서 카메라를 선택하고 나서 캡쳐를 한다음에 완료를 누르면 사진은 제대로 저장이 되는데
사진 저장 완료 후 이벤트를 받을수가 없습니다.
onActivityResult가 사진 저장 완료 후에 호출될줄 알았는데 그전에 호출이 되는 바람에
사진저장 후 업로드가 불가능합니다.
onActivityResult가 원래는 해당 intent가 종료된 후에 다시 호출되는게 아닌지요?
제가 작업하는것은 사진을 찍은 후에 해당 사진을 서버로 업로드 할려고 합니다.
제가 구현한 방식이 틀렸는지요?




아님 현재 Activity(카메라앱을 호출하는 Activity)가 singleTask나 singleInstance로 열려있는지 확인하세요.
singleTask나 singleInstance로 열리면 안되는걸로 알고 있습니다.