2012-06-26 1 views
0

Je presse le bouton de connexion pour me connecter à mon application et J'utilise asyncTask pour ce processus. quand j'appuie sur le bouton d'annulation, il devrait arrêter le processus de connexion mais ce qui se produit est quand j'appuie sur le bouton d'annulation la boîte de dialogue disparaît mais le processus de connexion n'arrête pas et évidemment l'utilisateur est connecté :).Arrêtez le processus de connexion en utilisant la tâche asynchrone

J'ai utilisé asyncTaskObject.cancel(true) pour arrêter le processus mais rien ne se passe. Comment puis-je corriger cela?

Répondre

0

Le document AsyncTask indique que la méthode cancel():

Les tentatives pour annuler l'exécution de cette tâche. Cette tentative échouera si la tâche est déjà terminée, a déjà été annulée ou si a été annulée pour une autre raison.

La solution est également fourni dans la documentation qui dit:

appel de cette méthode se traduira par onCancelled (Object) étant invoquaient sur le thread d'interface utilisateur après doInBackground (Object []) les retours. L'appel de cette méthode garantit que onPostExecute (Object) n'est jamais appelé. Après invoquant cette méthode, vous devez vérifier la valeur retournée par isCancelled() périodiquement à partir de doInBackground (Object []) pour terminer la tâche le plus tôt possible.

Vérifiez ce lien:

http://developer.android.com/reference/android/os/AsyncTask.html#cancel(boolean)

+0

Dans mon cas, le processus est en cours. – Rookie

Questions connexes