2011-03-31 5 views
7

IntentService를 사용하여 앱에서 대용량 파일 다운로드를 처리합니다. 그러나 다운로드를 취소하려면 stopService(intent)으로 전화하십시오. 그러나 onDestroy() 메서드가 호출되었지만 다운로드가 중지되지 않습니다. 다운로드를 취소하려면 어떻게해야합니까? 감사합니다. .IntentService를 중지하는 방법은 무엇입니까?

+1

싱글 톤 인스턴스로 작업하고 다운로드를 중지하려면 처리기 메시지를 찾아야합니다. – papachan

+2

좀 더 줄 수있어? 나는 정말로 내가 이것으로 무엇을해야하는지 안다. – notme

답변

8

나는 자신이 파악하지 않은,하지만 난 함께 Intent을 보내

intent.putExtra("pause", "yes"); 
startService(intent); 

그리고 나는 IntentService 내부 public int onStartCommand(Intent intent, int a, int b) (권장되지 않는) 무시하고 "일시 중지"가 "예"라고보고 정적 부울 mPausedtrue으로 설정했습니다. onHandleIntent에 루프가있는 경우 루프 상태에 && !mPaused을 추가하십시오.

물론 이것은 모두 '나쁜'코드와 해킹입니다.하지만 다른 사람이 올바른 방법으로이 코드를 사용하기를 바랍니다.

+0

나쁜 코드는 아닙니다. 이는 서비스를 일시 중지하는 올바른 방법입니다. –

관련 문제