2012-06-25 5 views
1

웹 서비스에서 데이터를 가져 오는 중입니다. 동시에 6 개의 비동기 작업이 실행되어 6 개의 다른 작업을 수행합니다. 문제는 첫 번째 비동기 작업이 실행을 시작하고 로그 아웃 할 때 다른 사용자와 로그인 할 때 첫 번째 비동기 작업이 다시 실행되지 않는 것입니다. 내가 뭔가를 잊어 버렸을 뿐인가? 첫 번째 비동기 작업을 다시 실행하려면 어떻게합니까?취소 후 비동기 작업을 다시 실행하십시오. 방법이 있습니까?

답변

4

아니요, AsyncTask을 다시 사용할 수 없습니다. 동일한 AsyncTaskexecute()을 두 번 호출하면 예외가 발생합니다.

AsyncTask은 종종 Activity에 한정되며 장기간의 작업 (웹 서비스에서 데이터를 계속 가져 오는 것과 같은)을위한 것이 아닙니다. 활동을 종료 한 후 데이터를 가져 오려면 대신 Service을 사용해야합니다.

+0

이렇게하는 방법이 있습니다. – Rookie

+0

죄송합니다. 동일한'AsyncTask' 객체에서'execute()'를 두 번 호출하면 예외가 발생합니다. '서비스'를 사용하고 싶으신 것 같습니까? –

+0

새 사용자에게'new AsyncTask'를 주시겠습니까? –

관련 문제