Android app 'Smart app protector'에 대해 질문드립니다.
조회수 2052회
안녕하세요. android를 공부하는 대학생입니다. android를 공부하는 도중, smart app protector라는 일종의 잠금 앱을 발견하였는데, 이 앱은 자신이 지정한 앱을 설정하고 그 후에, 설정된 앱을 키게되면 오류창이 뜨게하면서 강제로 종료시키게 됩니다. A의 앱이 B의 앱을 강제로 종료시킬 수 있는지 궁금합니다! 혹시 가능하다면 어떤 기술로 이게 구현된 것인지도 궁금합니다!
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
앱을 확실히 종료 시키는 방법은 잘 모르겠습니다만, 종료시키려고 노력하는 코드 조각은 다음과 같습니다.
일단 manifest에 다음과 같은 권한을 부여합니다. (프로요버전 이후)
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
프로그램을 종료 시킬려면 다음과 같은 코드가 필요로 합니다.
ActivityManager manager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); manager.killBackgroundProcesses("앱의 패키지 이름");
다만 옛날과 달리 지금의 안드로이드는 저렇게 요청을 한다고 해서, 꼭 앱을 종료시키지는 않습니다. 안드로이드 프로세스 관리 전략인 프로세스의 상태에 따라 중요하지 않은 프로세스만을 선별적으로 종료시키게 됩니다.
그래도 강제로 죽이고자 한다면... 실행중인 앱의 pid를 구해와서, KILL 시그널은 먼저 보낸 후 시도해보세요. 좋은 방법이라고 할 순 없지만, 종료시킬 가능성이 조금 더 높아집니다.
android.os.Process.sendSignal(pid, android.os.Process.SIGNAL_KILL);
안드로이드 개발문서 참조 하기 ( http://developer.android.com/reference/android/app/ActivityManager.html#killBackgroundProcesses(java.lang.String) )
댓글 입력