2010-08-13 10 views
1

J'utilise AsyncTask dans mon application.Gestion exception interrompue de AsyncTask dans Android?

Le problème est que lorsque le serveur est arrêté, l'AsyncTask lève une exception Interrompue. Comment faire pour savoir si le serveur est en panne ou non.

`

HttpGet httpget = new HttpGet(urls[i]); 

ResponseHandler<String> responseHandler = new BasicResponseHandler(); 

content = httpClient.execute(httpget, responseHandler); 

`

Ce même problème se produit également lorsque le combiné est maintenu inactif pendant un certain temps, puis keyguard obtient serrure et je suppose que WI-FI obtient également désactivé. Donc, quand j'active le clavier et que mon application est en premier plan, elle donne la même exception.

Quelqu'un peut-il s'il vous plaît laissez-moi savoir que dois-je faire afin de supprimer cette exception? Y a-t-il une solution à cela?

S'il vous plaît laissez-moi savoir ce qui peut être fait.

Cordialement

Sunil

Répondre

0

En fait, avant chaque connexion url, vous pouvez tester la disponibilité du réseau en faisant quelque chose comme ça:

if (connectivityManager.getActiveNetworkInfo() != null && connectivityManager.getActiveNetworkInfo().isAvailable()) { 
//do your stuff 
} 

Et vous pouvez également ping le serveur avec un court timeout pour vérifier si le serveur est disponible.

+0

mais cela vérifie la connectivité réseau sur le périphérique et non sur le serveur. Peut-il y avoir un autre moyen de sortir? Pinger le serveur ne semble pas être la solution. Peut-il y avoir un autre moyen pour cela? – sunil

+0

Eh bien, si vous ping sur le serveur, vous saurez si elle est en baisse n'est-ce pas? – Sephy

+0

évidemment, nous saurons que le serveur est en panne. Ce que je voulais dire, c'est que ce n'est pas une bonne solution. J'ai un certain nombre de services Web à appeler à partir de mon code, donc pour chaque service Web, j'ai besoin d'abord ping sur le serveur, puis appeler le service Web. Cela ne semble pas être la solution parfaite – sunil