- 전체
- 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
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 1 |
ART(Android Runtime)
| 졸리운_곰 | 2015.08.05 | 343 |

