2012-03-02 3 views
0

내가 서비스 ('Aservice')를 가지고(하지만 같은 응용 프로그램에서)

<service android:name=".Aservice" android:process=":my_process" > </service> 

매니페스트에 선언 나는에서이 서비스를 중지하는 방법을 알고 싶어요되는 다른 프로세스에서 실행중인 서비스를 중지 할 수 없습니다 응용 프로그램의 다른 서비스 ('Bservice'). 나는이 같은 시도했다는이 '서비스'Aservice는 '

int pid = android.os.Process.myPid(); 

를 사용하여 프로세스 ID를 발견 한 후 특별히 자체 (서비스 Aservice) 중지 지정된 다른 서비스 ('Bservice ')에 해당 ID를 전송 Bservice '발송에 실패했다 Aservice 서비스 프로세스 ID이지만,'PID Bservice이 Aservice ''서비스를 중지 할 수없는 '내가 전화 설정 -에 나열된 서비스를 볼 수있는'전화 코드

android.os.Process.killProcess(pid); 

' > 실행중인 서비스. 이 코드

ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
    for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) 
    { 
     sClassName = service.service.getClassName();   
     if (sClassName.contains("com.pkg.Rand.Aservice")) 
     { return true; }   
    }  
    return false; 

이 True를 반환합니다. 위치를 감지 할 때 응용 프로그램의 속도 저하를 방지하기 위해 별도의 프로세스로 서비스를 실행하는 데 필요합니다. 서로 다른 프로세스에서 다른 서비스와는 별도의 프로세스로 실행중인 서비스를 중지하는 방법에 대한 조언을 구하십시오.

도움이 매우 감사합니다.

답변

3

Context.stopService()로 서비스를 시작 했으므로 Context.stopService()를 사용하여 서비스를 중지했습니다. 실행중인 프로세스는 중요하지 않습니다.

관련 문제