마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Service 종료시키는법 ?

0 추천
startService로 서비스를 시작시켰습니다.

 

서비스를 종료해야하는 상황에서 stopService를 했는데 서비스가 여전히 돌아갑니다..

 

onUnbind도 호출이안됩니다

 

어떻게 종료해야하나요 ?

 

서비스 연결 : startService(mService);

서비스 종료 : stopService(mService);

 

이렇게 구현한상태입니다.
음무 (17,820 포인트) 님이 2014년 7월 20일 질문

2개의 답변

0 추천
서비스 연결을 엑티비티1에서 실행했다 가정하면

끌때도 역시 다른 클래스가 아닌 엑티비티1에서 종료를 해주어야 종료를 가능합니다.

아니면 디비 측에 서비스가 필요 없을시점에서 해당 필드 값을 온에서 오프로 변경하고 서비스는 실시간으로 디비의 값을 감시해서

온 인지 오프로 검사후 오프시 스스로 종료하게 코딩을 하시면 될것같습니다.
리카엘 (660 포인트) 님이 2014년 7월 20일 답변
같은 인텐트로 같은 액티비티에서 종료를 하고있는데 서비스가 멈추질 않네요 ...
서비스에서 다른 라이브러리를 호출하는데요 그 라이브러리에서도 실시간으로 스레드가 작동합니다.
혹시 서비스가 사용중이라 스탑서비스가 안먹는건지 ..
어플을 삭제하기 전까지는 서비스가 종료되지 않습니다.
0 추천
서비스에서 별도 스레드를 돌리고 있다면, 서비스가 종료할 때 해당 스레드도 종료시켜야 합니다.

서비스를 종료한다고 스레드까지 자동으로 종료해주지는 않습니다.
익명사용자 님이 2014년 7월 20일 답변
서비스에서 돌고있는 스레드를 죽이기 위해 언바인드에서 interrupt를 해주었는데 언바인드가 호출이 되지 않아 스레드가 죽지 않습니다.. 어떻게 해야하나요 ? 서비스에서 호출한 스레드를 서비스를 실행한 액티비티에서 죽일 방법이 있나요 ?
Service.onDestroy 에서 스레드를 종료하세요.
...