AsyncTask.onCancelled() не вызывается после отмены (true)

Android SDK v15, работающий на устройстве 2.3.6.

У меня проблема, когда onPostExecute()все еще вызывается, когда я вызываю cancel()внутри вызова doInBackground().

Вот мой код:

@Override
public String doInBackground(String... params) {
    try {
        return someMethod();
    } catch (Exception e) {
        cancel(true);
    }

    return null;
}

public String someMethod() throws Exception {
    ...
}

Я заставляю someMethod()генерировать исключение, чтобы проверить это, и вместо вызова onCancelled я всегда возвращаюсь к onPostExecute(). Если я проверю isCancelled(), возвращаемое значение будет истинным, поэтому я знаю, что выполняется cancel(true).

Есть идеи?

8
задан Sufian 24 October 2014 в 14:55
поделиться