вылетает приложение андроид если нет интернета - PullRequest
1 голос
/ 15 мая 2011

Я использую этот код для проверки доступности сети для приложения Android.

public boolean isOnline(Context ctx) {
        ConnectivityManager conMgr =  (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo i = conMgr.getActiveNetworkInfo();
          if (i == null)
            return false;
          if (!i.isConnected())
            return false;
          if (!i.isAvailable())
            return false;
          return true;
    }

Но если я подключен к сети Wi-Fi, но в этой сети нет интернета, то как я буду проверять, что интернет недоступен, на самом деле мое приложение вылетает, и я хочу показать окно предупреждения вместо сбоя приложения!

Кто-нибудь знает, как проверить доступность интернета?

Это журнал ошибок:

http://licrp.dnsalias.net:8000/iteam/images/error.jpg

1 Ответ

0 голосов
/ 14 декабря 2013

Если вы просто хотите убедиться, что вы подключены к Wi-Fi и у вас есть подключение к Интернету, вы можете просто пропинговать известный адрес, например, Google, который обычно онлайн:)

URL url = new URL("http://www.google.com");
HttpURLConnection conn= (HttpURLConnection) url.openConnection();
int responseCode = conn.getResponseCode();
//if responseCode = 200 - THEn CONN is connected
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...