안드로이드 WIFI 연결 상태 확인하기

Android 2015. 3. 16. 15:45

필요한 클래스

ConnectivityManager 클래스

http://developer.android.com/reference/android/net/ConnectivityManager.html

NetworkInfo 클래스

http://developer.android.com/reference/android/net/NetworkInfo.html



일반적인 단계

1. ConnectivityManager connMgr = (ConnectivityManager)con.getSystemService(Context.CONNECTIVITY_SERVICE);

시스템에서 서비스를 가져온다.

2. NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();

네트워크 정보를 가져온다.

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

AndroidManifest 에 권한이 추가되어 있어야 한다.



예제

WIFI 에 접속되어 있는지 아닌지 판별한다. 

null 체크를 해주는 것이 좋아 보인다.

public boolean isWifiConnected() {

// 시스템에서 서비스를 가져온다.

ConnectivityManager connMgr = (ConnectivityManager)con.getSystemService(Context.CONNECTIVITY_SERVICE);


if (connMgr != null)

{

// 서비스객체를 가져 왔다면 네트워크 정보를 저장.

NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();

if ( (networkInfo != null) && (networkInfo.isAvailable() == true) )

{

// 네트워크 정보를 갖고 있는 상태라면 타입을 판별한다. 여기서는 WIFI 인지 확인.

if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI)

{

// WIFI 에 접속 중이거나 혹은 접속된 상태라면 true 를 리턴한다.

if ( (networkInfo.getState() == State.CONNECTED) || (networkInfo.getState() == State.CONNECTING) ) 

{

return true;

}

}

}

}

return false;

}

참고 ; http://iam1492.tistory.com/3



: