У меня есть этот обычный код, чтобы делать HTTP-запросы на сервер.Как проверить подключение к Интернету перед тем, как сделать запрос
HttpClient httpclient = new DefaultHttpClient();
...
HttpGet httpGet = new HttpGet(finalUri.toURI());
httpGet.addHeader("Accept", "text/xml");
response = httpclient.execute(httpGet);
Это прекрасно работает при подключении к Интернету. Но когда нет подключения к интернету, код просто ждет долгое время на httpclient.execute(httpGet);
, пока он не выйдет из строя и не выбросит исключение и не сработает приложение.
01-10 15:17:48.612 20692-20806/com.somepackage.somepackage E/EXCEPTION﹕ Unable to resolve host "myapi.myhost.com": No address associated with hostname
Для исключения я могу поймать UnknownHostException e
и обработать его. Но все-таки есть ли способ узнать, что интернет-соединение отсутствует?
добавил http: // infront вашего url ?? –
Для проверки того, подключен ли пользователь к этому сообщению, посмотрите следующее сообщение: http://stackoverflow.com/a/7071617/2857385 – tknell