Проблема управления исключениями Android HttpClient (диспетчер выключен) - PullRequest
0 голосов
/ 05 февраля 2012

Мое приложение отправляет некоторые строки на мой сервер.
Оно использует HttpClient для отправки данных.
Все функции работают без проблем.

Если мой телефон подключен к сетизатем
Я нажимаю кнопку отправки -> Данные можно отправлять на мой сервер.(очень хорошо)

Если мой телефон не подключен к сети (отключается) (это означает, что я не использую Wi-Fi или 3G) ...
Я нажимаю кнопку отправки -> Отображается диалог ошибок как«Вы должны проверить сеть»

Но проблема в том, что ...
Как только (примерно через 0,5 ~ 1,5 секунды) Я нажимаю кнопку включения Wi-Fi, затем нажимаюкнопка отправки,
Пост-выполнение HttpClient, показывающее проблему исключения. (FC)
Могу ли я контролировать проблему исключения?Я хочу отобразить диалоговое окно с сообщением об ошибке, но, за исключением, я не могу контролировать.
Я думаю, что во время включения Wi-Fi (или 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;
        }

1 Ответ

3 голосов
/ 05 февраля 2012

Я думаю, что проблемная строка -

        httpClient.getConnectionManager().shutdown();

Это оригинальная документация Apache , без дополнительного кода (и полной трассировки стека) трудно понять, что происходит.Я думаю, что это просто плохое использование API

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...