이 블로그 검색

2011년 11월 16일 수요일

ConnectivityManager 안드로이드 네트워크 상태 값을 가져오는 API

ConnectivityManager 를 통해 네트워크 환경 값을 가져올 수 있다.
그리고 가져온 환경 값은 NetworkInfo 클래쓰의 객체를 통해 저장되어서 사용한다.

Ex)

public static int getNetworkType(Context context) {
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo_3G = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo networkInfo_WIFI = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo networkInfo_WIMAX = manager.getNetworkInfo(ConnectivityManager.TYPE_WIMAX);

if (networkInfo_WIFI != null && networkInfo_WIFI.isConnectedOrConnecting()) {
return NETWORK_WIFI;
} else if (networkInfo_3G !=null && networkInfo_3G.isConnectedOrConnecting()) {
return NETWORK_3G;
} else if (networkInfo_WIMAX !=null && networkInfo_WIMAX.isConnectedOrConnecting()) {
return NETWORK_WIMAX;
}

return NETWORK_NONE;
}

manifest.xml 에 다음과 같은 permission 이 추가 되어야 함.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

댓글 없음:

댓글 쓰기