powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / AsyncTask. Не срабатывает событие onCancelled()
3 сообщений из 3, страница 1 из 1
AsyncTask. Не срабатывает событие onCancelled()
    #39528780
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запускаю асинхронный процесс с отображением progressDialog.
Но при нажатии кнопки отмены не срабатывает событие onCancelled().
Не подскажете ли, почему?

Код: java
1.
2.
Tasks.taskExport = new Tasks.TaskExport();
Tasks.taskExport.execute();



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
class Tasks {
 
    static TaskExport taskExport;
 
    static class TaskExport extends AsyncTask<String, String, Boolean> {
 
            @Override
            protected void onPreExecute() {
                super.onPreExecute();
    
                progressDialog = new ProgressDialog(mainActivity);
                progressDialog.setIndeterminate(true);
                progressDialog.setCancelable(false);
    
                progressDialog.setButton(BUTTON_NEGATIVE, mainActivity.getString(R.string.Cancel),
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                if (taskExport != null) {
                                    taskExport.cancel(true);
                                }
                                progressDialog.dismiss();
                            }
                        });
    
                progressDialog.show();
            }
        }
    
    
        @Override
        protected Boolean doInBackground(String... urls) {
            //....................................
            //....................................
            return true;
        }
    
    
        @Override
        protected void onPostExecute(Boolean result) {
            //....................................
            //....................................
        }
    
    
        @Override
        protected void onCancelled() {
            super.onCancelled();
            //....................................
            //....................................
        }
    
    
        @Override
        protected void onProgressUpdate(String... value) {
            super.onProgressUpdate(value);
            //....................................
            //....................................
        }
    }
}

...
Рейтинг: 0 / 0
AsyncTask. Не срабатывает событие onCancelled()
    #39528831
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заметил следующее.
В doInBackground() идет получение списка файлов на Dropbox. Сам процесс получения списка файлов зависает из-за того, что Dropbox прекратил поддержку протокола v1.
И если нажать Cancel, то почему-то не срабатывает onCancelled().
Но почему?
...
Рейтинг: 0 / 0
AsyncTask. Не срабатывает событие onCancelled()
    #39529165
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего в doInBackground происходит нечто, чего твоя программа не ожидает и она тормозит.
Плюсом может не анализируешь https://developer.android.com/reference/android/os/AsyncTask.html#isCancelled() между делом при выполнении. Либо действительно апи зависает и тогда поток честно ждет результата.

Добавь избыточное логирование (с запросами, ответами) и наблюдай.

А вообще, апи 1 отключили навсегда. Смысл его тестировать?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / AsyncTask. Не срабатывает событие onCancelled()
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]