【问题标题】:Android HttpClient Exception Control issue (Manager is shut down)Android HttpClient 异常控制问题(管理器已关闭)
【发布时间】:2012-02-05 16:10:17
【问题描述】:

我的应用程序将一些字符串发布到我的服务器。
它使用 HttpClient 发送数据。
所有功能都很完美,没有1个问题..

如果我的手机处于联网状态,那么
我单击提交按钮-> 可以在我的服务器上发送数据。 (真的很好)

如果我的手机处于 unnetworking(disconneing) 状态(表示未使用 wifi 或 3g...)
我单击提交按钮 -> 它显示错误对话框为“您必须检查网络”

但问题是......
只要(大约在 0.5~1.5 秒内)我点击 wifi 启用按钮,然后我点击提交按钮,
HttpClient post执行出现异常问题。(FC)
我可以控制异常问题吗? 我想显示错误对话框,但异常,我无法控制。
我认为在启用 wifi(或 3g)期间,执行某些事情会发生问题。

这是错误句
02-06 00:48:41.250:E/AndroidRuntime(20183):原因:java.lang.IllegalStateException:管理器已关闭。

来源

(...ready for setting params, and string datas..and so on)

            HttpPost httpPost = new HttpPost(url);
            try {
                httpPost.setEntity(mpEntity);
                httpPost.addHeader("cookie", cookie);

                //↓This execute is problem. How can I control exception?
                HttpResponse response = httpClient.execute(httpPost);

                HttpEntity resEntity = response.getEntity();
                InputStream content = resEntity.getContent();
                return content;
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            httpClient.getConnectionManager().shutdown();
            return null;
        }

【问题讨论】:

    标签: android exception httpclient


    【解决方案1】:

    我认为有问题的行是

            httpClient.getConnectionManager().shutdown();
    

    This is the original Apache documentation,没有更多代码(和完整的堆栈跟踪)很难理解发生了什么。我认为这只是 API 使用不当

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 2011-12-31
      • 2020-01-22
      相关资源
      最近更新 更多