как выложить все асинхронные задачи на устройство, нажав кнопку «Домой» - PullRequest
3 голосов
/ 17 февраля 2012

Я хочу остановить все асинхронные задачи при нажатии кнопки «Домой» на устройстве, но проблема заключается в том, что при запуске диалогового окна прогресса при нажатии кнопки «Домой» убивается только диалоговое окно прогресса, и происходит переход к методу onKeyDown (), в котором я упоминаллогика, чтобы убить мои асинхронные задачи.Поэтому асинхронная задача выполняется в фоновом режиме даже после закрытия приложения и его сбоя.Есть ли решение, чтобы закрыть диалоговое окно хода выполнения, а также все асинхронные задачи при нажатии кнопки home

Ответы [ 2 ]

1 голос
/ 17 февраля 2012

Вы не можете перехватывать вызовы кнопки «Домой» напрямую. Хотя при нажатии кнопки «Домой» вызывается onPause (), так что вы можете переопределить этот метод и поместить свою логику туда.

Проверить http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle для получения дополнительной информации

1 голос
/ 17 февраля 2012

В Java мы не можем остановить Thread, который был запущен и работает.Так же как и AsyncTask

, но вы можете попробовать позвонить asyncTask.cancel(), который работает как thread.interrupt().Это может бросить InterruptedException.Если существует больше кода, этот код также будет выполняться, поэтому позаботьтесь об этом.

...