2012-03-31 2 views
2

나는 내 장치가 모바일 또는 와이파이 연결 중 하나가 있는지 확인하기 위해 다음과 같은 방법이 있습니다안드로이드 확인 전화가있는 경우 모바일 또는 무선 연결 문제

public static boolean haveNetworkConnection(ConnectivityManager cm) { 
    boolean haveConnectedWifi = false; 
    boolean haveConnectedMobile = false; 

    NetworkInfo[] netInfo = cm.getAllNetworkInfo(); 
    for (NetworkInfo ni : netInfo) { 
     if (ni.getTypeName().equalsIgnoreCase("WIFI")) 
      if (ni.isConnected()) 
       haveConnectedWifi = true; 
     if (ni.getTypeName().equalsIgnoreCase("MOBILE")) 
      if (ni.isConnected()) 
       haveConnectedMobile = true; 
    } 
    return haveConnectedWifi || haveConnectedMobile; 
} 

코드는 미세 (true를 반환) 작동하는 것 같다을 때 전화가 wifi에 연결되어 있지만 전화가 연결되어 있지 않으면이 메서드는 여전히 true를 반환합니다.

나는 다른 모든 응용 프로그램이 인터넷에 연결할 수 없으므로 전화가 완전히 끊어 졌는지 확인하기 위해 테스트를 마쳤습니다.

도움이 될 것입니다.

답변

0
private static boolean checkInternetConnection(Activity _activity) { 
ConnectivityManager conMgr = (ConnectivityManager) _activity.getSystemService(Context.CONNECTIVITY_SERVICE); 
if (conMgr.getActiveNetworkInfo() != null && conMgr.getActiveNetworkInfo().isAvailable() 
    && conMgr.getActiveNetworkInfo().isConnected()) 
return true; 
else 
return false; 
} 

위의 방법 retrun 사실에서 그것에 대해 더 읽기 당신은 어떤 가능/연결 네트워크가있는 경우

관련 문제