본문 바로가기
Android

안드로이드 스마트폰의 인터넷 연결상태 유무.

by 일용직 코딩노동자 2019. 11. 12.
728x90
반응형
public class NetworkStatus {
    public static final int WIFI = 1;
    public static final int MOBILE = 2;
    public static final int NOT_CONNECTED = 9999;

    public static int getConnectivityStatus(Context context){ //해당 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){//3G/LTE로 연결
                return MOBILE;
            }else if(type == ConnectivityManager.TYPE_WIFI){//와이파이 연결
                return WIFI;
            }
        }
        return NOT_CONNECTED;  //연결이 되지않은 상태
    }
}

WIFI가 연결됬다면 1이 리턴되고, 데이터 3G / 4G(LTE)로 연결됬다면 2가 리턴됩니다.

아애 연결되지 않았다면 9999가 리턴됩니다.

이에 따라서 조건문을 작성하여 연결이됬을때 안됐을때의 프로그래밍이 가능합니다.

 

메니페스트에 인터넷 권한을 추가하여야 체크가 가능합니다.

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

 

궁금하신 사항은 댓글 남겨주세요.

728x90
반응형

댓글