- 전체
- android studio
- Android SDK
- Android NDK
- Android ADK
- Android Etc. Lib.
- Android dalvik VM
- Android 보안
- PhoneGap
- AOSP 개발
- MIT App Inventor 2
- kivy (python)
- ionic framework
- Kotlin (코틀린)
- React Native
Android SDK 안드로이드 > 네트워크 연결 상태를 확인하는 ConnectivityManager
2016.03.23 12:13
안드로이드 > 네트워크 연결 상태를 확인하는 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 을 사용해서 체크 합니다.
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
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 13 |
빠르게배우는 안드로이드 Fragment-4(Fragment간 에 데이터전달)
| 졸리운_곰 | 2020.09.19 | 155 |
| 12 |
빠르게배우는 안드로이드 Fragment-3(Fragment기초 실습)
| 졸리운_곰 | 2020.09.19 | 209 |
| 11 | 빠르게배우는 안드로이드 Fragment-2(Activity-> Fragment로 쉽게 변경) | 졸리운_곰 | 2020.09.19 | 236 |
| 10 |
빠르게배우는 안드로이드 Fragment -1 (배경)
| 졸리운_곰 | 2020.09.19 | 194 |
| 9 |
안드로이드 스튜디오 - 새로 생성한 Activity Class를 쉽게 Manifest에 등록하기.
| 졸리운_곰 | 2020.08.08 | 253 |
| 8 |
Android Studio Build시 failed linking references 해결방법
| 졸리운_곰 | 2020.05.05 | 648 |
| 7 |
[안드로이드 스튜디오] COULD NOT FIND COM.ANDROID.TOOLS.BUILD:GRADLE:3.0.0-BETA6
| 졸리운_곰 | 2020.05.05 | 125 |
| 6 |
Android Sync SQLite Database with Server using PHP and MySQL
| 졸리운_곰 | 2019.02.25 | 7762 |
| 5 |
안드로이드의 MVC, MVP, MVVM 종합 안내서
| 졸리운_곰 | 2019.01.06 | 370 |
| 4 |
Getting Started: WebView-based Applications for Web Developers
| 졸리운_곰 | 2018.09.03 | 410 |
| 3 |
Android Asynchronous Http Client
| 졸리운_곰 | 2017.07.03 | 709 |
| 2 |
android studio 2.3 의 안드로이드 레이아웃 배치 법 : Layout Editor로 UI 빌드
| 졸리운_곰 | 2017.03.09 | 534 |
| 1 |
Android Studio 2.2에서 Layout Preview 한글 깨짐 현상 해결 방법
| 졸리운_곰 | 2017.03.08 | 568 |

