2012-11-01 5 views
0

나는 getConnectState() 부울 함수를 만들려고합니다. 아래 두 가지 방법을 사용합니다. 왜 어떤 상황에서는 결과가 다른지 나는 모른다. WiFi를 켜는 경우와 마찬가지로 처음에는 true가 반환되지만 두 번째 것은 false를 반환합니다. 이 상황에서 Wi-Fi가 열리고 있지만 아직 연결되어 있지 않은 경우 허위로 들어갈 수 있기를 바랍니다. 누구나 내게 첫 번째 기능이 WiFi 사용이 가능하다고 설명하는 이유를 설명 할 수 있습니까?android 왜 다른 와이파이 연결 상태가

WifiManager wifiManager=(WifiManager) context.getSystemService(Context.WIFI_SERVICE); 
    if(wifiManager.getWifiState()==WifiManager.WIFI_STATE_ENABLED) 
     return true; 
    else 
     return false; 

ConnectivityManager conManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo networInfo = conManager.getActiveNetworkInfo(); 
    if (networInfo == null || !networInfo.isAvailable()) { 
     return false; 
    } 
    return true; 

답변

2
WifiManager.WIFI_STATE_ENABLED 

만 검사 WiFi 연결을 활성화하고,이 연결 여부를 확인하지 않는 경우. 당신은 사용하여 연결 상태를 확인할 수 있습니다

ConnectivityManager conManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo networInfo = conManager.getActiveNetworkInfo(); 
if(networInfo.getState()==State.CONNECTED) 

을하고 네트워크 WIFI를 사용하고 있는지 확인하려는 경우 사용할 수 있습니다

networInfo.getType()==connection.TYPE_WIFI