Czy istnieje szczególny sposób na poradzenie sobie z awarią w AsyncTask? O ile mogę powiedzieć, jedynym sposobem jest zwracanie wartości zadania. Chciałbym być w stanie podać więcej szczegółów na temat niepowodzenia, jeśli to możliwe, a wartość null nie jest zbyt obszerna.Jak radzić sobie z awarią AsyncTask
Idealnie byłoby zapewnić obsługę onError, ale nie sądzę, że ma jeden.
class DownloadAsyncTask extends AsyncTask<String, Void, String> {
/** this would be cool if it existed */
@Override
protected void onError(Exception ex) {
...
}
@Override
protected String doInBackground(String... params) {
try {
... download ...
} catch (IOException e) {
setError(e); // maybe like this?
}
}
}
Podoba mi się ta odpowiedź, jest bardzo prosta. – leech
dlaczego sprawdzasz wynik zerowy? To się nie może zdarzyć. –
W porządku, ale ten kod został zaadaptowany, oryginał czasami zwraca wartość null. –