안드로이드 개발 질문/답변
(글 수 45,052)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
TextView name_view = (TextView)findViewById(R.id.name_view);
TextView digit_view = (TextView)findViewById(R.id.digit_view);
if(resultCode==RESULT_OK) // 액티비티가 정상적으로 종료되었을 경우
{
if(requestCode==1) // InformationInput에서 호출한 경우에만 처리합니다.
{
// 받아온 이름과 전화번호를 InformationInput 액티비티에 표시합니다.
name_view.setText(data.getStringExtra("data_name"));
digit_view.setText(data.getStringExtra("data_digit"));
}
}
}-----------실제로 사용될 소스는 아닙니다.----------------------
-----------소스 부분 출처 : 커니님의 강좌 ---------------------
값을 보낸후 액티비티가 정상종료 될대 하면서 인텐트에서 보낸 값을 받고 종료된후
정상종료되었다고 특정값을 받아오는데
이 부분 if(resultCode==RESULT_OK) // 액티비티가 정상적으로 종료되었을 경우
이런식으로 특정값을 반환하지 않아도 상관없나요~?
반환하지 않을경우 어떤문제가 있나 궁금합니다.
실제로 해본결과 반환을 하지 않고도 정상 작동되는데 안드로이드 폰에 실제로 탑제 되면
오류가 생긴다던제 그런가요~?




예를 들어보겠습니다. 만약에 카메라 어플을 하나 짰는데
그 어플은 사진을 찍고 사용자에게 Preview 해준 다음에 확인을 누르면 이미지 경로를 리턴해준다고 가정합시다.
만약에 RESULT_OK를 찍어주지 않고 종료하면
호출한 Activity에서는 사진이 제대로 찍혀서 확인을 눌러서 넘어왔는지
아니면 사용자가 자기 멋대로 그냥 백키 눌러서 넘어왔는지 당장 알길이 없습니다.
RESULT_OK는 리턴받아 후처리를 해야하는 Activity에게
"정상적이다" 혹은 "뭔가 처리할게 있다"라고 표시해주는 값이라고 생각하시면 됩니다.
실제로 내장 카메라 어플들 불러서 이미지 저장할때 RESULT_OK에 따른 분류가 없으면 오류 구경하기 쉽상이죠.