2012-02-17 3 views
1

두 가지 앱이 있습니다.이 두 가지 앱은 A와 B입니다. 앱에 많은 서비스가 있습니다. 내 작업은 B의 메소드를 사용하여 서비스를 죽이고 싶습니다. A와 B는 APK가 아니며 다른 앱입니다.다른 앱에서 하나의 앱을 죽이는 서비스

i used : 
ActivityManager manager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); 
    List<RunningAppProcessInfo> activityes = ((ActivityManager) manager).getRunningAppProcesses(); 

    for (int i = 0; i < activityes.size(); i++){ 

     Log.e("APP: "+i, activityes.get(0).processName); 

     if (!activityes.get(i).processName.contains("com.qihoo360")){ 
      //android.os.Process.killProcess(activityes.get(1).pid); 
      Log.i("dfd","xx"); 
      manager.killBackgroundProcesses("com.qihoo360.mobilesafe"); 
      android.os.Process.sendSignal(activityes.get(1).pid, android.os.Process.SIGNAL_KILL); 
     } 

    } 

하지만 유용하지는 않지만 모바일 설정 관리자 앱에는 닫기 버튼이 있습니다. 시스템 보안 때문에 다른 앱을 죽일 권한이 없다면.

+1

A 서비스에 키스 하시겠습니까? 우 ~. – JoxTraex

+0

내 질문을 이해할 수 없습니까? – pengwang

+0

귀하의 질문에 명확하지 않은 서비스를 죽일 수있는 권한이 있는지 확인 했습니까? – JoxTraex

답변

0

서비스를 죽이기 전에 소스 코드를 참조해야합니다. 이렇게하면 필요한 것을 파악하는 데 도움이됩니다. 당신이해야 할 노력, 그리고 어떻게 당신이 그것을 달성 할 수있는 무슨에 대한 몇 가지 구조없이

DONT 시도 코딩.

1

이런 식으로 서비스를 종료하려고 시도해서는 안됩니다.

서비스중인 브로드 캐스트 리시버를 사용하여 중지하고 앱에서 브로드 캐스트를 보내 중지하려는 경우.

이렇게하면 수신자가 완료되었는지를 결정하고 자원을 정상적으로 해제 할 수 있습니다.

프로세스를 강제 종료하려고 시도하는 매우 좋은 이유가 있어야합니다.

+0

네, 강제로 프로세스를 죽일만한 이유가 있습니다. – pengwang

+0

확인. 그리고 수신 측에서는 방송 수신기를 사용하지 않습니다. –

관련 문제