안드로이드 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