본문 바로가기

소프트웨어/Android/Java/Ndk

Android] ConnectivityManager를 이용한 3g 4g wibro wifi 통신 체크

ConnectivityManager cm = (ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE);

NetworkInfo ni = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

boolean isMobileConn = ni.isConnected(); //3g확인

ni = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

boolean isWifi = ni.isConnected(); //Wifi확인

ni = cm.getNetworkInfo(ConnectivityManager.TYPE_WIMAX);

boolean is4G = ni.isConnected(); //Wimax(4g and Wibro)


if(isMobileConn || isWifi || is4G ) {

Log.d("mstag","network연결이 가능하므로 DB를 새로 다운받음 @BSSIDandPW@MyAsyncTask^onPostExecut");

}else {

Log.d("mstag","network연결이 불가능하므로 저장된 DB를 읽어서 목록 생성  @BSSIDandPW@MyAsyncTask^onPostExecut");

}



아래와같이도 접속중인 통신을 확인 가능하다.

NetworkInfo ni = cm.getActiveNetworkInfo();

Log.d("mstag","net-type= "+ni);