【问题标题】:Handling interrupted exception of AsyncTask in Android?处理Android中AsyncTask的中断异常?
【发布时间】:2010-08-13 09:00:11
【问题描述】:

我在我的应用程序中使用 AsyncTask。

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

`

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

ResponseHandler<String> responseHandler = new BasicResponseHandler();

content = httpClient.execute(httpget, responseHandler);

`

当手机保持空闲一段时间然后键盘锁被锁定并且我想 WI-FI 也被禁用时,也会出现同样的问题。因此,当我启用键盘保护并且我的应用程序在前台时,它会给出相同的异常。

有人可以让我知道我应该怎么做才能消除此异常吗?有没有办法解决这个问题。

请告诉我可以做什么。

问候

苏尼尔

【问题讨论】:

    标签: android exception android-asynctask


    【解决方案1】:

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

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

    您还可以通过短暂的超时来 ping 服务器,以检查服务器是否可用。

    【讨论】:

    • 但这将检查设备上的网络连接,而不是服务器。能不能有别的出路? ping 服务器似乎不是解决方案。有没有其他方法可以解决这个问题?
    • 好吧,如果你 ping 服务器,你就会知道它是否宕机了,不是吗?
    • 显然,我们会知道服务器已关闭。我的意思是这不是一个适当的解决方案。我有许多要从我的代码中调用的 Web 服务,因此对于每个 Web 服务,我需要先 ping 服务器,然后调用 Web 服务。这似乎不是完美的解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    相关资源
    最近更新 更多