[ConnectivityManager] 네트워크 상태 확인 (Wifi, Mobile.. etc...)
Android/Class 2014. 7. 24. 17:27 |1. Android에서 Network 상태를 확인 하는 샘플 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; /** * Android에서 Network 상태를 확인 하는 클래스 * @author dennis.seo */ public class NetworkManager { /** * Check network connectivity (wi-fi) * @param context * @return connected state */ public static boolean isWifiConnected(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if(activeNetworkInfo != null && activeNetworkInfo.isAvailable() && activeNetworkInfo.isConnected()) return true; return false; } /** * Check network connectivity (mobile) * @param context * @return connected state */ public static boolean isMobileConnected(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if(networkInfo != null && networkInfo.isAvailable() && networkInfo.isConnected()) return true; return false; } /** * Check network connectivity (mobile, wi-fi) * @return connected state */ public static boolean isOnline(Context context) { // network 연결 상태 확인 boolean connected = false; if(isWifiConnected(context)) return true; if(isMobileConnected(context)) return true; return connected; } } |
2. 네트워크 상태 변화에 대한 BroadcastReceiver
1 2 3 4 5 6 7 8 9 | // BroadcastReceiver.onReceiver override @Override public void onReceiver(Context context, Intent intent) { String action = intent.getAction(); if ( action.equals(ConnectivityManager.CONNECTIVITY_ACTION) ) { // 네트워크에 변화가 생길때 마다 이 코드 안으로 들어온다. // 여기에 하고 싶은 걸 넣으면 된다. } } |
'Android > Class' 카테고리의 다른 글
[ImageView] android:scaleType 속성값 정리 (0) | 2014.07.24 |
---|---|
[Fragment] Fragment 데이터 송수신 (2) | 2014.07.24 |
[ProgressBar] Custom ProgressBar 이미지 변경하기. (0) | 2014.07.24 |
[Fragement] FragmentManager, FragmentTransaction에 대해서 (0) | 2014.07.24 |
[Collections] 자음, 알파벳 순으로 정렬하기 (0) | 2014.07.24 |