как проверить что интернет на локальном wifi доступен или нет - PullRequest
1 голос
/ 16 декабря 2011

Мне нужно проверить в моем приложении, что интернет на локальном Wi-Fi доступен или нет, я попробовал

requestRouteToHost но он всегда возвращает false, поэтому, пожалуйста, помогите

1 Ответ

4 голосов
/ 16 декабря 2011

Вот лучший способ проверить, имеет ли устройство период подключения к Интернету.

public static boolean hasActiveInternetConnection(Context context) {
if (isNetworkAvailable(context)) {
    try {
        HttpURLConnection urlc = (HttpURLConnection) (new URL("http://www.google.com").openConnection());
        urlc.setRequestProperty("User-Agent", "Test");
        urlc.setRequestProperty("Connection", "close");
        urlc.setConnectTimeout(1500); 
        urlc.connect();
        return (urlc.getResponseCode() == 200);
    } catch (IOException e) {
        Log.e(LOG_TAG, "Error checking internet connection", e);
    }
} else {
    Log.d(LOG_TAG, "No network available!");
}
return false;

}

Вот способ проверить, есть ли у него соединение Wi-Fi или соединение для передачи данных.

  private boolean checkInternetConnection()
  {

    ConnectivityManager conMgr = (ConnectivityManager) getSystemService (Context.CONNECTIVITY_SERVICE);

    // ARE WE CONNECTED TO THE NET

    if (conMgr.getActiveNetworkInfo() != null

            && conMgr.getActiveNetworkInfo().isAvailable()

            && conMgr.getActiveNetworkInfo().isConnected()) 
    {

    return true;

    }
    else 
    {
    return false;

    }
}
...