안드로이드 개발 질문/답변
(글 수 45,052)
A,B 2개의 액티비티가 있습니다
메인액티비티 A 를 실행해서 서브 액티비티인 B 를 실행했는데
이경우 서브액티비티 B에서 어플리케이션의 완전종료를 할려면 어떻게 해야 하나요....?
System.exit(0) 도 B만 종료되고....
A,B 등 액티비티가 여러개가 있다고 해도 한번에 종료할수있는 방법은 업는건가요...?
2010.08.20 13:52:58
자문자답입니다
ActivityManager 의 restartPackage(getPackageName()); 쓰면됩니다
요렇게 씁니다
ActivityManager am = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
이걸쓰려면 매니패스트에 권한이 있더야 하더군요....
<uses-permission android:name="android.permission.RESTART_PACKAGES"></uses-permission>
그리고
restartPackage()가 deprecated됬다는 군요....
killBackgroundProcesses()로 대체해서 쓰라고 하더란....
그런데 킬백그라운드프로세서스의 사용법을 몰라서 문제
그냥 A에서 startActivityForResult() 로 B를 호출하면
B에서 이런저런 작업을 하고 종료시에 A에게 Result_code를 주면
A는 onActivityResult()라는 함수에서 아~B가 종료됬구나 알고
그후 동작을 결정할 수 있습니다. (여기서 A도 finish()해주면 될것같습니다.)