AsyncTask.onCancelled() n'est pas appelée après l'annuler(vrai)

Android SDK v15 en cours d'exécution sur un 2.3.6 appareil.

Je vais avoir un problème où les onPostExecute() est encore appelée lorsque je fais appel cancel() dans un doInBackground() appel.

Voici mon code:

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

    return null;
}

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

Je suis forcer someMethod() lancer une exception pour un test, et au lieu de onCancelled appelle, je reviens toujours à la onPostExecute(). Si je vérifie isCancelled() la valeur renvoyée est true, alors je sais qu' cancel(true) est en cours d'exécution.

Des idées?

OriginalL'auteur PolandSpring | 2012-06-23