현재 갤럭시노트10.1 (ICS)에서 개발중에 있습니다.


제가 원하는 것은 실행중인 다른 어플리케이션을 종료하는 것입니다. 


임의로 종료할 어플리케이션을 A 라고 지칭하겠습니다.


PackageManager의 killBackgroundProcesses() 메소드를 사용하면 된다고 하여서, 



ActivityManager am = (ActivityManager)getSystemService(ACTIVITY_SERVICE);

am.killBackgroundProcesses(A의 패키지명);


으로 작성하였습니다.


그 후에 갤노트에 내장된 작업관리자나 별도의 태스크관리 프로그램을 통해서 살펴보아도 A의 프로세스는 종료된 것을 확인할 수 있었습니다.


그러나 프로세스는 종료되는 것 같아도 종료시킨 A앱을 다시 실행해보면 액티비티가 그대로 살아있어서 종료시켰을 때 화면 그대로 다시 뜨더군요. 보아하니 완전히 종료시키려면 액티비티도 종료시켜야 할 것 같은데, 실행중인 다른 어플리케이션의 액티비티를 어떻게 해야 종료시킬 수 있을지 모르겠습니다.



덧. 안드로이드의 환경설정의 어플리케이션 관리에서 해당 앱의 세부 항목을 보면 '강제중지' 항목이 있는데, 이걸 통해서 프로세스를 끄면 액티비티까지 확실히 다 죽어서 앱을 다시 띄웠을 때 초기화면이 뜨더군요. 이걸 구현할 수 있는 방법이 없을까요?

이쪽은 forceStopPackage() 메소드를 이용하는 것 같은데 애초에 이건 일반 유저가 사용할 수 있는 메소드가 아니군요...

profile