안녕하세요..
제가 요즘 sns 관련 연동 프로그램을 만들고 있는데요..
public boolean checkNetworkAvailable(){
Utility.d("BaseActivity", ">>> Called checkNetworkAvailable()");
ConnectivityManager conn_manager = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
Log.v(TAG, "conn_manager : " + conn_manager.toString() );
boolean isNetworkAvailable = false;
try{
Log.v(TAG, "111111111111111111111");
NetworkInfo network_info = conn_manager.getActiveNetworkInfo();
Log.e(TAG, "network_info : " + network_info);
if ( network_info != null && network_info.isConnected() ) {
if (network_info.getType() == ConnectivityManager.TYPE_WIFI ){
Log.e(TAG, "network_info WIFI : " + network_info.getType());
// do some staff with WiFi connection
isNetworkAvailable = true;
} else if (network_info.getType() == ConnectivityManager.TYPE_MOBILE ){
// do something with Carrier connection
isNetworkAvailable = true;
} else if (network_info.getType() == ConnectivityManager.TYPE_WIMAX ){
// do something with Wibro/Wimax connection
isNetworkAvailable = true;
}
}
}catch(Exception e){
e.printStackTrace();
}
if(isNetworkAvailable == false)
showNetworkAlert();
return isNetworkAvailable;
}
여기 보시면 네트워크 체크하는 메소드가 있습니다.
근데 이게 다운받아서 실행 할때는 잘됐는데... 제가 만드는 프로그램에 넣으니 살 안되네요..
안되는 부분은 위에 소스 부분중에
NetworkInfo network_info = conn_manager.getActiveNetworkInfo();
이 부분 입니다. 밑에 로그를 찍어 봤지만 로그가 안찍히네요..
ConnectivityManager conn_manager = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
이부분에서는 가지고 옵니다.
제 생각에는 참고하고 있는 소스는 시작 하는 클래스 안에 저 메소드가 들어가 있고..
제 프로그램에는 메인 화면은 버튼들로 구성되어 있어서 intent로 저 Activity로 이동합니다.
저부분때문에 하루죙일 봤지만..
NetworkInfo network_info = conn_manager.getActiveNetworkInfo();
에 왜 데이타가 안들어 가는지를 모르겠습니다.
많은 조언 부탁드립니다...




정말 Active 상태인 네트워크가 없나보죠...
3g도 끊고 와이파이도 끊어 놓으면 널로 나오는 것으로 압니다.
그리고 Exception이 나오면 메시지를 잘보세요... 권한의 문제일수도 있습니다.