[Android] 네트워크 상태 정보 알아내는 유틸리티 클래스

안드로이드에서 네트워크 상태를 알아오는 클래스입니다. 서버와 통신을 하는 어플리케이션이라면 당연히 빠질수 없는 기능일것입니다. AndroidManifest.xml에 다음을 추가합니다.
[code xml]<uses-permission
  android:name=”android.permission.INTERNET”/>
<uses-permission
  android:name=”android.permission.ACCESS_NETWORK_STATE”/>[/code]
다음은 예제 코드입니다.
[code java]public class NetworkUtil
{
  public static final int NETWORK_WIFI = 0;
  public static final int NETWORK_3G = 1;
  public static final int NETWORK_NONE = 2;
 
  public static int checkStatus(Context context)
  {
    final ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    final android.net.NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    final android.net.NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

    if(wifi.isAvailable())
    {
      return NETWORK_WIFI;
    }
    else if(mobile.isAvailable())
    {
      return NETWORK_3G;
    }
    else
    {
      return NETWORK_NONE;
    }

  }
}[/code]
이 소스는 제 취향대로 만들어 놓았지만 중요한것은 상단의 3줄입니다. CONNECTIVITY_SERVICE를 이용하여 네트워크 상태를 알아올 수 있습니다.