0
Я использую задачу асинхронной следующим образом:Как остановить повторение асинхронной задачи?
private first_async first; // global variable
// In onCreate
first = new first_async();
first.execute(1);
// then on click of the button I want to stop this, but it works after some time like this:
if (!first.isCancelled()) {
first.cancel(false);
}
private class first_async extends AsyncTask<Integer, Void, Void> {
int var;
@Override
protected void doInBackground(Integer... params) {
while (!isCancelled()) {
var = params[0];
// do some task
}
return null;
}
@Override
protected void onPostExecute(void thumb) {
super.onPostExecute(thumb);
if (var >= 7) {
} else {
first_time_imageURL = new first_time_get_images_URL();
first_time_imageURL.execute(var+1);
}
}
}
Таким образом, проблема заключается в том, что отмену на работе асинхронных задач после некоторого времени. Если я ошибаюсь, пожалуйста, поправьте меня или, если есть какая-то другая альтернатива, укажите это.