6

IntentService를 사용하여 GPS 위치 업데이트를 수신하므로 사용자가 활동을 떠날 때 실행됩니다. IS는 메시지의 위치를 ​​활동의 처리기로 보냅니다.위치 청취를 위해 IntentService를 사용하지만 onHandleIntent 직후에 onDestroy가 호출됩니다.

사용자가 "추적 중지"버튼을 클릭하면 IntentService에서 생성되기 때문에 "추적 중 ..."이라는 상태 표시 줄 알림이 계속 표시됩니다. 그러므로 나는 onDestory를 오버라이드() 그래서 내가 호출 할 수

mNotificationManager.cancel(TRACKING); 

그러나 문제는 내가들의 OnDestroy()를 구현할 때, 그것은 onHandleIntent 직후라는 점이다. 오버라이드 onDestroy() 코드를 삭제하면 즉시 호출되지 않고 잘 실행되어 위치가 화면에 표시 될 활동으로 다시 전송됩니다.

내가 구현하지 않으면 onDestroy()가 즉시 호출되는 이유는 없지만 그렇지 않다면 어떤 아이디어입니까?

저는 꽤 혼란 스럽습니다.

모두 감사합니다,

Infinitifizz

답변

9

좋아, 내가 대신 서비스를 사용하고 지금은 (onStartCommand에 모든 기능을 넣어)와, 내가 IntentService를 사용하지 않았을한다, 지금 정리했습니다 모든 것이 작동합니다. 당신의 시간을 낭비

죄송합니다 모두 : -/

Infinitifizz

+9

여기 낭비는, 어쩌면 누군가가 같은 실수를하지 않으며 당신의 대답에 솔루션을 찾습니다. – AndreasT

관련 문제