WiFi enabled 상테에서 Socket을 서버에 연결할 경우입니다.
WiFi가 enable 상태라고 하더라도 주변에 AP가 없거나
AP가 있어도 암호를 필요로하는 것이라서 인터넷에 접속을 못하는 경우가 있습니다.
이런 경우에는 스마트폰에서 자동으로 3G망을 이용하여 서버에 연결을 합니다.
이러한 경우에 서버로 연결된 Socket이 Wifi 망으로 연결되었는지
3G 망으로 연결되었는지 알 수 있을까요?
기 연결된 소켓이 wifi 인지 확인 하는 걸 물으신건가요?
소켓 연결 전에는 아래 같은 방식을 쓰고...
그 이후에는 NetworkStateChange 브로드캐스트 리시버를 이용하는 방법도 있긴 한데...
public boolean checkConnectWifiStatus() {
ConnectivityManager manager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if(manager == null)
return false;
if(manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI) == null)
return manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
}
하이앤님 댓글 감사합니다.
로그인 유지
기 연결된 소켓이 wifi 인지 확인 하는 걸 물으신건가요?
소켓 연결 전에는 아래 같은 방식을 쓰고...
그 이후에는 NetworkStateChange 브로드캐스트 리시버를 이용하는 방법도 있긴 한데...
public boolean checkConnectWifiStatus() {
ConnectivityManager manager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if(manager == null)
return false;
if(manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI) == null)
return false;
return manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
}