Я использую этот код для проверки доступности сети для приложения для 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, но в этой сети нет доступа к Интернету, то как я проверю, что интернет недоступен, на самом деле мое приложение выходит из строя, и я хочу показать окно предупреждения вместо сбоя приложения!
Кто-нибудь знает, как проверить доступность Интернета?
Это журнал ошибок:
Если вы просто хотите убедиться, что вы подключены к 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