2012-05-10 4 views
1

Я могу проверить, подключено ли устройство к Wi-Fi.Как проверить подключение к интернету Wi-Fi?

public boolean isOnline() { 
    ConnectivityManager cm = (ConnectivityManager) activity 
      .getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo netInfo = cm.getActiveNetworkInfo(); 

    if (netInfo != null && netInfo.isConnectedOrConnecting()) { 
     return true; 
    } 
    return false; 
} 

Однако, я хочу проверить скорость соединения Wi-Fi как-то как Ping. Я хочу использовать этот номер ping для установки некоторых переменных. Что-то вроде этого,

public int internetspeed(){ 
    checking... 
    return speed; 
} 

Может ли кто-нибудь дать мне учебник или пример?

+0

Это может помочь вам http://stackoverflow.com/questions/2786720/android-service-ping-url – moujib

ответ

2

Этот фрагмент кода будет делать работу за вас

WifiManager wifiManager = Context.getSystemService(Context.WIFI_SERVICE); 
    WifiInfo wifiInfo = wifiManager.getConnectionInfo(); 
    if (wifiInfo != null) { 
     Integer linkSpeed = wifiInfo.getLinkSpeed(); //measured using WifiInfo.LINK_SPEED_UNITS 
    } 
0

Загрузить файл в фоновом режиме и измерить данные в секунду.

0

Вот полный класс, который я использую для проверки возможности подключения. Для вопроса пинга см. Мой комментарий.

public class InternetCheck { 

    Context mContext; 
    public InternetCheck(Context mContext){ 
      this.mContext = mContext; 
     } 


    // CHECK FOR INTERNET METHOD 
    public final boolean isInternetOn() { 
     ConnectivityManager connec = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); 
     // ARE WE CONNECTED TO THE NET 
     if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED 
       || connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTING 
       || connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING 
       || connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED) { 
      return true; 
     } else if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED 
       || connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED) { 
      return false; 
     } 
     return false; 
    } 

} 
+0

по ссылке, которую вы предоставляете ping url, но я не знаю, что устройство подключается к IP-адресу маршрутизатора, поэтому не может пинговать также –

Смежные вопросы