AsyncTask убивает задачу при нажатии кнопки «Назад»

У меня проблемы с AsyncTask.

Я реализовал его следующим образом

private class MakeConnection extends AsyncTask<String, Void, String> implements OnDismissListener{ Context context; ProgressDialog myDialog; public MakeConnection(Context conetext) { this.context = conetext; myDialog = new ProgressDialog(this.context); myDialog.setCancelable(true); myDialog.setOnDismissListener(this); } @Override protected String doInBackground(String... urls) { //do stuff } @Override protected void onPostExecute(String result) { try { myDialog.dismiss(); success(result); }catch(JSONException e) { data = e.toString(); } } @Override protected void onProgressUpdate(Void... values) { myDialog = ProgressDialog.show(context, "Please wait...", "Loading the data", true); } @Override public void onDismiss(DialogInterface dialog) { this.cancel(true); } } 

Но когда я нажимаю кнопку «Назад», ничего не происходит, она просто завершает задачу, как будто я не нажимал кнопку «Назад»

Любая идея почему?

Есть две части этой проблемы:

1) doInBackground() свой doInBackground() таким образом, чтобы он проверял AsyncTask .

  @Override protected String doInBackground(String... urls) { for(int i = 0; i < 100 && !isCancelled(); i++) { //do some stuff } } 

2) Вы должны вызвать asynTask.cancel(true) в asynTask.cancel(true) вашей активности.

Это устраняет мою проблему

 @Override protected void onPreExecute(){ myDialog = ProgressDialog.show( context, "Please wait...", "Loading the data", true, true, new DialogInterface.OnCancelListener(){ @Override public void onCancel(DialogInterface dialog) { MakeConnection.this.cancel(true); } } ); } 

Также можно использовать метод follwing в деятельности

 @Override public void onBackPressed() { // TODO Auto-generated method stub super.onBackPressed(); imageLoadingAsyncTask.cancel(true); } 
Intereting Posts
Сохранение ориентации изображения после сжатия Проект Android Studio: нижняя часть пользовательского интерфейса отключена Java.lang.SecurityException: требуется разрешение BLUETOOTH: ни пользователь 10065, ни текущий процесс не имеет android.permission.BLUETOOTH Программная клавиатура изменяет размер фонового изображения на Android Кордова регистрирует типы файлов в списке «открыть с» Есть ли способ поместить дополнения в Intent из настроек? Recreate Найти функцию браузера страницы в веб-просмотре Иконка TabLayout не отображается Как проверить, уже ли установлено приложение Firebase на Android Отключено в фрагменте, не работающем при реализации интерфейса Контекстное меню Android SMS Обновить apk, когда предыдущий сертификат истечет до 2033 года Воспроизведение видео на части экрана после разблокировки экрана Можно ли передавать параметры URL-адреса в игру Google? (Строки запроса запроса) Как читать список контактов WhatsAp