android:launchMode="singleTask", startActivityForResult
프로그램 실행 순서 (알파벳은 모두 Activity로 작성)
A->B-> Home key ->A ->C -> Back Key ->C->Back Key->B->Back key->A
프로그램을 실행하여서 위와 같은 순서로 실행하면 home키를 눌렀을 시에 스택에 Activity가 남아 있는 것 같고 다시 해당 app을 실행하면 좀전에 실행한 화면이 보인다.
이때, app이 처음부터 실행되게 하고 싶은 경우 아래와 같은 방법으로 처리가 가능하다.
manifest파일(AndroidMenifest.xml) 에 정의된 각 <Activity ... >태그에
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
[출처 : http://journae.springnote.com/pages/6834213]
여기서 부터 삽질이 시작되었습니다.
액티비티 간에 값을 서로 전달 받기 위해 아래의 두 메소드를 활용하여 진행을 합니다.
startActivityForResult(Intent t, int requetCode);
onActivityResult(int requestCode, int resultCode, Intent data)
하지만 호출되는 Activity가 manifest파일에 adnroid:launchMode="singleTask"가 걸려있다면 아마 호출할때 onActivityResult() 메소드가 호출되는걸 아실수가 있을 겁니다.
마찬가지로 호출된 Activity가 종료될때 호출되어야 할 onActivityResult()는 호출되지 않는 답니다.
왜그런지는 모르겠으나 몇일의 삽질 결과(사실 찾지를 못하여 혼자서 이리저리 고치며 고생한 거랍니다.) 호출당하는 클래스는 manifest파일에서 android:launchMode="singleTask"를 삭제하니 정상적으로 동작이 하더군요
혹시 저와 같이 삽질 하시는 분들은 참고하세요.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
[안드로이드/Android] INSTALL_FAILED_INSUFFICIENT_STORAGE (0) | 2012.05.11 |
---|---|
[안드로이드/Android] Installation failed due to invalid APK file (3) | 2012.05.11 |
[안드로이드/Andoird] 안드로이드 액티비티와 태스크 (0) | 2012.05.10 |
[안드로이드 팁] 구문분석 오류 패키지를 구문 분석하는 중 문제가 발생했습니다. (0) | 2012.05.10 |
[안드로이드] 안드로이드 C2DM 구현하기 (0) | 2012.05.10 |
[안드로이드/Android] 안드로이드 레이아웃 TableLayout (0) | 2012.05.09 |
[안드로이드/Android] 안드로이드 레이아웃 FrameLayout (0) | 2012.05.09 |
[안드로이드/Android] 안드로이드 레이아웃 RelativeLayout (4) | 2012.05.09 |
[안드로이드/Android]안드로이드 레이아웃 LinearLayout (0) | 2012.05.09 |