안드로이드  > 네트워크 연결 상태를 확인하는 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

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
53 레이아웃이란 무엇일까요? 졸리운_곰 2016.04.30 238
52 안드로이드 네트워크/쓰레드 프로그래밍 예제 - HTTP file 졸리운_곰 2016.04.30 318
51 안드로이드 와이파이 연결시 준비된 코드 실행2 졸리운_곰 2016.04.30 171
50 안드로이드 와이파이 연결시 준비된 코드 실행 졸리운_곰 2016.04.30 423
49 Worked solution for Kivy + Admob on android 졸리운_곰 2016.04.30 580
48 Broadcast Receiver로 문자(SMS) 수신해보자 file 졸리운_곰 2016.04.29 761
47 How do you get the Android's primary e-mail address (or a list of e-mail addresses)? 졸리운_곰 2016.04.29 221
46 지니모션 설치 방법 총정리 (한글키보드 + 구글플레이 설치) file 졸리운_곰 2016.04.23 1065
45 넥서스5 USB to PC 연결 뒤 아무것도 안 보인다면 file 졸리운_곰 2016.04.18 732
44 워드프레스와 모바일웹, 앱 file 졸리운_곰 2016.04.17 191
43 워드프레스 기반 안드로이드 앱 만들기 file 졸리운_곰 2016.04.17 522
42 안드로이드/Android 액티비티(Activity) 투명 처리 하기 file 졸리운_곰 2016.04.14 196
41 Audio Capture 졸리운_곰 2016.04.08 212
40 [안드로이드] 앱이 파일을 읽고 쓰는 위치 졸리운_곰 2016.03.24 879
39 안드로이드 네트워크 연결 상태 확인 졸리운_곰 2016.03.23 437
» 안드로이드 > 네트워크 연결 상태를 확인하는 ConnectivityManager 졸리운_곰 2016.03.23 652
37 [펌][안드로이드예제] 카메라로 찍은 사진(이미지파일)을 웹서버에 전송하는 프로그램예제 졸리운_곰 2016.03.12 2730
36 안드로이드 통화 녹음 소스 : android call recoder source file 졸리운_곰 2016.03.12 2118
35 안드로이드 앱 : 앱 개발시 코드에서 다른 앱 설치 및 제거 졸리운_곰 2016.03.09 295
34 [Android] 첨부파일 포함한 이메일 보내기 file 졸리운_곰 2016.03.05 911
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED