Выход Android из AsyncTask - PullRequest
       5

Выход Android из AsyncTask

1 голос
/ 25 июня 2011

У меня AsyncTask выполняет цикл, который останавливает цикл только при выходе из приложения, устанавливается глобальное логическое значение "stop", он останавливает цикл и завершает AsyncTask.

У меня есть этот код:

@Override
public void onBackPressed() 
{
     KillAllThreads(); 
}

@Override 
public void onUserLeaveHint() 
{     
    KillAllThreads();       
}

Теперь вот эта вещь.Если я запускаю AsyncTask, onUserLeaveHint () сразу вызывается, и когда нажимается кнопка home, он никогда не запускает этот метод.Если я не запускаю AsyncTask и позволяю активности загружаться, ничего не делая, тогда, когда я нажимаю Home, он запускает метод onUserLeaveHint ().

Как мне остановить поток, если пользователь щелкает изприложение?

1 Ответ

2 голосов
/ 25 июня 2011

Вы должны иметь возможность вызывать .cancel () в AsyncTask, вы пробовали это?

Посмотрите этот пример проекта в моих документах Google, он иллюстрирует важные аспекты AsyncTask:

  • запуск задачи, прогресс публикации и т. Д.
  • Показывает, как отменить запущенную задачу.
  • Показывает, как отменить запущенную задачу, когда ваша деятельность приостановленаили остановлен.

ссылка:

https://docs.google.com/leaf?id=0BwAnjRVwT4WzOWMwYjFhNTctOTUxYy00NjQwLTgwNWEtMmE5MzEyZWQ3NjUx&hl=en_US&authkey=CLnH8_ID

...