вылетает приложение андроид если нет интернета

1

Я использую этот код для проверки доступности сети для приложения для 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;
    }

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

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

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

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

  • 0
    В чем ошибка в вашем журнале?
  • 0
    Пожалуйста, смотрите журнал ошибок сейчас! это что-то происходит из-за класса слушателя местоположения
Показать ещё 4 комментария
Теги:
crash

1 ответ

0

Если вы просто хотите убедиться, что вы подключены к 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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню