[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를 이용하여 네트워크 상태를 알아올 수 있습니다.

  • 이상영

    안드로이드 2.3에서 유선과 무선을 선택적으로 사용하려 하는데, 뭐가 문제인지 무선 선택하고 사용하게 되면 자주 끊기는 현상이 발생합니다…ㅠㅠ
    유선을 완전이 들어내면 아무 문제가 없구요…
    위 내용을 보니 유선의 정보를 보는 방법은 없는지요?
    그리고 상기 문제에 조언 구할 수 있겠는지요?
    감사합니다. < 끝>

  • 이상영

    안녕하십니까…상기 조언을 구했던 이상영입니다.
    제 연락처가 빠져 있는 듯하여
    하기와 같이 E-Mail Addr.를 공지하여 드립니다.

    sangylee@sogang.ac.kr

    감사합니다. < 끝>