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

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
27 레이아웃이란 무엇일까요? 졸리운_곰 2016.04.30 239
26 안드로이드 네트워크/쓰레드 프로그래밍 예제 - HTTP file 졸리운_곰 2016.04.30 318
25 안드로이드 와이파이 연결시 준비된 코드 실행 졸리운_곰 2016.04.30 423
24 Broadcast Receiver로 문자(SMS) 수신해보자 file 졸리운_곰 2016.04.29 761
23 How do you get the Android's primary e-mail address (or a list of e-mail addresses)? 졸리운_곰 2016.04.29 221
22 안드로이드/Android 액티비티(Activity) 투명 처리 하기 file 졸리운_곰 2016.04.14 196
21 Audio Capture 졸리운_곰 2016.04.08 212
20 [안드로이드] 앱이 파일을 읽고 쓰는 위치 졸리운_곰 2016.03.24 879
19 안드로이드 네트워크 연결 상태 확인 졸리운_곰 2016.03.23 437
» 안드로이드 > 네트워크 연결 상태를 확인하는 ConnectivityManager 졸리운_곰 2016.03.23 652
17 [펌][안드로이드예제] 카메라로 찍은 사진(이미지파일)을 웹서버에 전송하는 프로그램예제 졸리운_곰 2016.03.12 2730
16 안드로이드 통화 녹음 소스 : android call recoder source file 졸리운_곰 2016.03.12 2118
15 안드로이드 앱 : 앱 개발시 코드에서 다른 앱 설치 및 제거 졸리운_곰 2016.03.09 295
14 [Android] 첨부파일 포함한 이메일 보내기 file 졸리운_곰 2016.03.05 911
13 [안드로이드 Android] 시스템 인텐트(Intent)를 이용한 전화걸기, 문자보내기, 이메일보내기 etc file 졸리운_곰 2016.03.05 1101
12 Intent를 사용한 첨부파일 이메일 보내기 file 졸리운_곰 2016.03.05 2117
11 android app gmail 보내기, 안드로이드 E-Mail 보내기 예제 따라하기 file 졸리운_곰 2016.03.05 267
10 android 실행시 class not found 졸리운_곰 2016.03.04 180
9 android 부팅과 함께 app 실행 시키기. 졸리운_곰 2016.03.02 168
8 [Android] 부팅시 서비스(Service) 재실행하기 (항상 실행) 졸리운_곰 2016.03.02 347
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED