2014년 2월 27일 목요일

Android의 네트워크 연결 상태 확인

Android 앱에서 네트워크 연결이 필요한 작업을 할 때 3G나 WiFi 연결이 되어 있지 않으면 오류가 발생한다.

이를 애초에 막기 위해서 네트워크 연결이 필요한 작업을 하기 전에 네트워크 연결 상태를 확인하는 로직을 넣어줄 수 있다.

우선 네트워크 상태에 접근할 수 있는 퍼미션을 AndroidManifest.xml에 추가한다.

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

퍼미션을 추가했다면 아래와 같이 코드를 구현한다.

private boolean checkNetwordState() {
    ConnectivityManager connManager = cManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo state_3g = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    NetworkInfo state_wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

    return state_3g.isConnected() || state_wifi.isConnected();
}

이후 네트워크 연결상태 확인이 필요한 부분에 해당 함수를 호출해서 체크하면된다.

댓글 1개: