在Android中处理异步任务的中断异常?

在Android中处理异步任务的中断异常?,android,exception,android-asynctask,Android,Exception,Android Asynctask,我正在应用程序中使用AsyncTask 问题是,当服务器关闭时,AsyncTask会抛出一个中断的异常。如何跟踪服务器是否停机 ` HttpGet-HttpGet=newhttpget(url[i]); ResponseHandler ResponseHandler=新BasicResponseHandler(); content=httpClient.execute(httpget,responseHandler); ` 同样的问题也会发生在手机闲置一段时间后,键盘锁定,我想WI-FI也会被

我正在应用程序中使用AsyncTask

问题是,当服务器关闭时,AsyncTask会抛出一个中断的异常。如何跟踪服务器是否停机

`

HttpGet-HttpGet=newhttpget(url[i]);
ResponseHandler ResponseHandler=新BasicResponseHandler();
content=httpClient.execute(httpget,responseHandler);
`

同样的问题也会发生在手机闲置一段时间后,键盘锁定,我想WI-FI也会被禁用。因此,当我启用keyguard时,如果我的应用程序在前台,那么它会给出相同的异常

有人能告诉我应该怎么做才能删除此异常吗?这个问题没有解决的办法

请告诉我可以做什么

问候


Sunil

基本上,在每次url连接之前,您可以通过执行以下操作来测试网络可用性:

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

您还可以在短时间内ping服务器以检查服务器是否可用。

但这将检查设备上的网络连接,而不是服务器的网络连接。还有别的出路吗?ping服务器似乎不是解决方案。还有其他方法吗?如果你ping服务器,你会知道它是否关闭了,不是吗?显然,我们会知道服务器关闭了。我的意思是这不是一个合适的解决方案。我的代码中有许多要调用的web服务,因此对于每个web服务,我需要首先ping服务器,然后调用web服务。这似乎不是完美的解决方案
if (connectivityManager.getActiveNetworkInfo() != null && connectivityManager.getActiveNetworkInfo().isAvailable()) {
//do your stuff
}