2016-06-05 3 views
0

Стараюсь кодЯ хочу, чтобы проверить подключение к Интернету

ConnectivityManager cm = 
     (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 

NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); 
boolean isConnected = activeNetwork != null && 
         activeNetwork.isConnectedOrConnecting(); 

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

+0

Проверьте мой ответ здесь http://stackoverflow.com/questions/37430738/how-to-check-internet-connection-before-app-starts-and-while-it-is-running/37431259# 37431259 – sandesh

+0

Сделать тестовый http-запрос на веб-сайт? – Ozgur

ответ

1

Я использую ping в Google, чтобы проверить, действительно ли у пользователя реальное подключение к Интернету, просто будьте осторожны, если ваш пользователь находится в Китае или в любой другой стране, где Google заблокирован.

public boolean isOnline() { 

    Runtime runtime = Runtime.getRuntime(); 
    try { 

     Process ipProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8"); 
     int  exitValue = ipProcess.waitFor(); 
     return (exitValue == 0); 

    } catch (IOException e)   { e.printStackTrace(); } 
     catch (InterruptedException e) { e.printStackTrace(); } 

    return false; 
} 
Смежные вопросы