안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요. 초보개발자입니다 ㅜ.ㅜ
개발중인 어플이 초반에 네트워크를 연결해서 사용하는데...
폰초기세팅시에는 네트워트가 활성화 되어 있지 않아서 자꾸 에러가 나더군요.
(이거땜에 버그인지 알고 ㅠㅠ 전 소스 다 엎었네요.)
그래서 찾다보니 아래와 같은 소스를 찾아서 적용했는데....
// 버튼클릭리스너 안에
ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED || connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING ) {
// 팝업1
} else if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED || connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED) {
// 팝업2
}
실행하니까 에러가 나드라구요 -_-;;;
원인과 다른방법있으면 알려주시면 고맙겠습니다. ㅜ.ㅜ
개발중인 어플이 초반에 네트워크를 연결해서 사용하는데...
폰초기세팅시에는 네트워트가 활성화 되어 있지 않아서 자꾸 에러가 나더군요.
(이거땜에 버그인지 알고 ㅠㅠ 전 소스 다 엎었네요.)
그래서 찾다보니 아래와 같은 소스를 찾아서 적용했는데....
// 버튼클릭리스너 안에
ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED || connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING ) {
// 팝업1
} else if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED || connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED) {
// 팝업2
}
실행하니까 에러가 나드라구요 -_-;;;
원인과 다른방법있으면 알려주시면 고맙겠습니다. ㅜ.ㅜ
2010.04.07 09:29:46
참고하세요. APIDemo 에 있는 소스일겁니다.
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
boolean isWifiAvail = ni.isAvailable();
boolean isWifiConn = ni.isConnected();
ni = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
boolean isMobileAvail = ni.isAvailable();
boolean isMobileConn = ni.isConnected();
String status = "WiFi\nAvail = " + isWifiAvail + "\nConn = "
+ isWifiConn + "\nMobile\nAvail = " + isMobileAvail
+ "\nConn = " + isMobileConn + "\n";
wifi를 제외하고 일반 망에 접속 상태를 확인하는 방법은 farmeworks\base\.....\telephony\ServiceState.java class를 참조하시면 될 듯 싶네요.
사용 예는 packages\apps\...\deviceinfo\Status.java class 의
private void updateServiceState(ServiceState serviceState) 메서드를 참조하세요.
도움이 되면 좋겠네요.