Killing Android App completely

less than 1 minute read

안드로이드 앱 완전 종료하기

구현중인 동작

  • 카카오톡 채팅방에서 ‘뒤로가기’를 눌렀을 때, 프로필 화면을 통해서 채팅방에 입장했어도, ‘채팅리스트’ 화면으로 돌아가도록 하는 동작.

문제

  • 채팅방에서 메인액티비티로 돌아오는건 성공(Flag 사용). 근데 그 상태에서 다시 ‘뒤로가기’ 버튼을 누르면 앱이 종료되는 것이 아니라 히스토리에 남아있는 동작을 했다.
    • 이번 경우는 종료버튼을 눌렀을 때 ExpandableListView를 확장 했던 히스토리가 반복된 후에 다시 종료버튼을 누르면 종료되는 상황.

해결

moveTaskToBack(true); // 현재 앱을 백그라운드로 이동. 
finishAndRemoveTask(); // 액티비티를 종료.
android.os.Process.killProcess(android.os.Process.myPid()); // 프로세스 종료

추가

  • onBackPressed() 메소드를 통해서 안드로이드 자체의 ‘뒤로가기’ 버튼을 눌렀을 때의 이벤트 처리가 가능하다.