안드로이드 개발 질문/답변
(글 수 45,052)
onActivityResult 내에서 startActivity구문을 실행할 경우 해당 Activity가 두번 create됩니다.
간단히 테스트 코드로 작성해보면
A Activity내에서 onActivityResult를 구현
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.i("test", "----- return result -----");
switch (requestCode) {
case _REQUEST_OK :
Intent intent = new Intent(getApplicationContext(), B.class);
intent.putExtra("uri", data.getDataString());
startActivity(intent);
break;
default : break;
}
B Activity 내에는 아래와 같이 구성
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i("test", "----- pass -----");
}
이와 같이 작성한 후 실행할 경우
Log에
----- return result -----
----- pass -----
----- pass -----
출력됩니다. 즉 B가 두번식 onCreate되는 것 같은데 혹시 이유를 알고 계신분 있으신가요?




테스트 해본 결과
가로 * 세로모두 전환에 의해서 발생하는 onCreate과정이였던 듯 합니다.^^;;