Android SDK v15 działa na urządzeniu 2.3.6.Funkcja AsyncTask.onCancelled() nie jest wywoływana po anulowaniu (true)
Mam problem, w którym onPostExecute()
jest nadal wywoływana, gdy dzwonię pod numer cancel()
w ramach połączenia doInBackground()
.
Oto mój kod:
@Override
public String doInBackground(String... params) {
try {
return someMethod();
} catch (Exception e) {
cancel(true);
}
return null;
}
public String someMethod() throws Exception {
...
}
jestem zmuszając someMethod()
rzucić wyjątek przetestować to na zewnątrz i zamiast onCancelled miano, zawsze wrócić do onPostExecute()
. Jeśli sprawdzę isCancelled()
zwrócona wartość jest prawdziwa, więc wiem, że jest wykonywana cancel(true)
.
Wszelkie pomysły?
te nie są nazywane albo .... – Radu
@Radu nie mam pojęcia kodu używasz lub zadanie starasz się osiągnąć. Prawdopodobnie najlepiej byłoby rozpocząć nowe pytanie, jeśli próbujesz zrobić coś podobnego i otrzymujesz problemy. – Eric
moim celem jest nie mogę @ zastąpić onCancelled (wynik SomeType) i prosty onCancelled(). Ponadto, jeśli celuję w starą wersję Androida, funkcja onCancelled() nie będzie w ogóle wywoływana ... – Radu