안드로이드  > 네트워크 연결 상태를 확인하는 ConnectivityManager

 어플 상에서 와이파이 또는 데이터 네트워크(3G,4G)가 연결되어 있는지를 확인해야 할 때가 있습니다.

 이 때 사용하는 메소드가 바로 ConnectivityManager입니다.

 그 전에 일단 먼전 AndroidManifest.xml에서 퍼미션을 정의해주어야 합니다..
 
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
 


 그 다음 자바 코드에서 체크를 하는 코드를 아래와 같이 작성합니다. 

 어디서든 사용이 가능하지만 주로 onCreate() 내에 작성을 해서 어플이 시작하는 순간에 확인을 하도록 합니다.
 
 
 ConnectivityManager manager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
 NetworkInfo mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
 NetworkInfo wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
 

 // wifi 또는 모바일 네트워크 어느 하나라도 연결이 되어있다면,
 if (wifi.isConnected() || mobile.isConnected()) {
  Log.i("연결됨" , "연결이 되었습니다.);
  setContentView(R.layout.activity_logo);
 } else {
  Log.i("연결 안 됨" , "연결이 다시 한번 확인해주세요);
 }
 


 이런 식으로 사용해서 네트워크 연결을 설정하면 됩니다.!!
 
 제가 사용하는 예제 입니다.

 연결을 확인해야 할때 Fucntion 을 사용해서 체크 합니다.

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 private Boolean isNetWork(){
  ConnectivityManager manager = (ConnectivityManager) getSystemService (Context.CONNECTIVITY_SERVICE);
  boolean isMobileAvailable = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isAvailable();
  boolean isMobileConnect = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();
  boolean isWifiAvailable = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isAvailable();
  boolean isWifiConnect = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();

  if ((isWifiAvailable && isWifiConnect) || (isMobileAvailable && isMobileConnect)){
   return true;
  }else{
   return false;
  }
 }
 

 
 isConnected 의 true/ false 값을 바탕으로 인터넷 연결 확인이 가능합니다.

 

[출처] http://ankyu.entersoft.kr/Lecture/android/network_01.asp

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED