본문 바로가기

Android/Basic

[Android] 인터넷 연결상태 체크하기

인터넷 연결 상태

인터넷 연결 상태는 크게 연결된 상태와 연결되지 않은 상태로 나눌 수 있다.

연결된 상태는 다시 무선랜(WIFI)으로 연결된 상태와 모바일 데이터(3G/LTE)로 연결된 상태로 나누어진다.


인터넷 연결 상태 확인하기

우선 매니페스트에 연결상태를 확인할 수 있는 권한을 추가해주어야한다.

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


연결된 상태만을 알고싶다면, 다음과 같이 간단하게 구현하면 된다.

public Boolean isNetWorkConnected() {
ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = manager != null ? manager.getActiveNetworkInfo() : null;
return activeNetwork != null;
}


만약 연결된 상태의 타입(무선랜인지, 모바일데이터인지)을 알고싶다면 다음과같이 getTyep() 메소드를 호출하면 된다.

public static final int TYPE_WIFI = 1;
    public static final int TYPE_MOBILE = 2;
    public static final int TYPE_NOT_CONNECTED = 3;

public static int getConnectivityStatus(Context context) {
    ConnectivityManager manager = (ConnectivityManager) 
                                                        context.getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo networkInfo = manager.getActiveNetworkInfo();
    if (networkInfo != null) {
        int type = networkInfo.getType();
        if (type == ConnectivityManager.TYPE_MOBILE) {
            return TYPE_MOBILE;
        } else if (type == ConnectivityManager.TYPE_WIFI) {
            return TYPE_WIFI;
        }
    }

    return TYPE_NOT_CONNECTED;
}


출처 : 부스트코스 강의


+ 추가로 공식 홈페이지에 설명이 너무 잘 되어있어서 링크.

https://developer.android.com/training/monitoring-device-state/connectivity-monitoring?hl=ko

'Android > Basic' 카테고리의 다른 글

[Android] 음악 재생하기  (0) 2018.08.28
[Android] 카메라로 사진 촬영하기  (2) 2018.08.27
[Android] SQLiteOpenHelper  (0) 2018.07.31
[Android] 웹에서 Image 다운로드  (0) 2018.07.09
[Android] Gson을 이용한 JSON 변환  (0) 2018.07.07