Question

Y at-il moyen d'éviter la méthode doInBackground / fil d'une AsyncTask de départ jusqu'à ce qu'un AlertDialog qui apparaît pendant la méthode OnPreExecute a été rejetée?

doInBackground est uniquement destiné à exécuter lorsque OnPreExecute finalise, mais pour autant que je peux dire, avoir une AlertDialog ouverte ne s'arrête pas OnPreExecute de se terminer.

Détails: Am sur mon téléphone au moment ne peut donc pas donner exemple de code, mais la vue d'ensemble du code est qu'il est une application qui requiert des données qui ne sont accessibles que via les données mobiles en raison d'être sur le réseau de télécommunications. Le preexec de mes getData AsyncTask vérifie d'abord si le wifi est, et si oui affiche une boîte de dialogue d'alerte avec Wifi et Désactiver Annuler options.

Annuler devrait mettre fin à la tâche, et désactiver le WiFi doit, bien, désactiver le WiFi. méthode doInBg vérifie ensuite si la connexion de données est, et sinon va dans une boucle de sommeil unti est. Une fois la production, doInBg obtient alors les données ...

À l'heure actuelle, si le wifi est doInBg commence avant le dialogue est rejeté, se trouver piégé dans la boucle de sommeil jusqu'à ce que quelque chose provoque la connexion mobile à venir ... Cela conduit à des problèmes potentiels que je voudrais éviter.

Était-ce utile?

La solution

Vous pouvez essayer de lancer quelque part pour vérifier si votre connexion Wi-Fi est en place, puis utilisez AlertDialogListener pour attraper l'action des boutons dans AlertDialog. alors vous pouvez commencer votre Async à l'intérieur AlertDialogListener.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top