2011-04-30 1 views
3

Я имею в виду ситуацию, когда устройство подключено к точке доступа, но по какой-то причине заблокировано от доступа к Интернету с использованием этой точки доступа.Как я могу проверить, может ли устройство получать доступ к Интернету через активное соединение WiFi?

ответ

0
private boolean connectionAvailable() { 
    boolean connected = false; 
    ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    if (connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) { 
     //we are connected to a network 
     connected = true; 
    } 
    return connected; 
} 
+0

Это не совсем то, что мне нужно - состояние CONNECTED для подключения Wi-Fi означает, что устройство подключено к точке доступа, но не обязательно может получить доступ к Интернету – Asahi

+0

Ok, так что вы хотите проверить, что Wi-Fi обращается ко интернет или нет. я понятия не имею об этом. – Dharmendra

+0

спасибо за ваше время! – Asahi

1

для проверки WiFi включен или не

WifiManager wfManager = (WifiManager)getSystemService(Context.WIFI_SERVICE); 
if(wfManager.isWifiEnabled()) 
{ 
    //Code 
} 
else 
{ 
//Code 
} 

для подключения проверка Интернет ..

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

    if (netInfo != null && netInfo.isConnectedOrConnecting()) 
    { 
      //Try This 
      int i =netInfo.getType() ; 
      System.out.println("Net Type ="+i);  

      return true; 
    } 
    return false; 

} 
+0

Это не совсем то, что мне нужно - состояние CONNECTED для подключения WiFi означает, что устройство подключено к AP, но необязательно может получить доступ к Интернету. – Asahi

+0

да, я знаю. –

+0

см. Мой ответ на редактирование –