Como matar / remover / deletar / parar completamente um AsyncTask no Android
Eu fiz um aplicativo que baixa vídeos do nosso servidor. A questão é:
Quando eu cancelar o download eu chamo:
myAsyncTask.cancel(true)
Eu percebi issomyAsyncTask
não pára de chamar cancelar ... meuProgressDialog
ainda sobe e é como saltar de status para status mostrando-me que cada vez que eu cancelar e começar de novo umAsyncTask
clicando no botão de download, um novoAsyncTask
começa ... Cada vez que eu clico em download .. então cancela, então novamente baixo um arquivo separadoAsyncTask
começa.
Por que émyAsynTask.cancle(true)
não cancelar minha tarefa? Eu não quero mais isso no fundo. Eu só quero desligar completamente se eu clicar em cancelar.
Como fazer isso ?
E D I T:
Graças ao gtumca-MAC, e os outros que me ajudaram fizeram:
while (((count = input.read(data)) != -1) && (this.isCancelled()==false))
{
total += count;
publishProgress((int) (total * 100 / lenghtOfFile));
output.write(data, 0, count);
}
Obrigado!!!