WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if(!wifi.isWifiEnabled()){
if(wifi.getWifiState() != WifiManager.WIFI_STATE_ENABLING){
wifi.setWifiEnabled(true);
Toast.makeText(cxt, "Start Wifi Service", Toast.LENGTH_SHORT).show();
}
}else
{
wifi.setWifiEnabled(false);
Toast.makeText(cxt, "Stop Wifi Service", Toast.LENGTH_SHORT).show();
}
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
public boolean checkNetwork()
{
boolean result = true ;
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
boolean isWifiConn = ni.isConnected();
ni = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
boolean isMobileConn = ni.isConnected();
if (isWifiConn == false && isMobileConn == false ) {
result = false ;
Log.d( "LOG" , "네트워크가 연결되어있지 않습니다." );
}
else {
Log.d( "LOG" , "네트워크가 정상적으로 연결되어있습니다." );
}
Log.i( "LOG" , "네트워크 상태 검사가 끝났습니다." );
return result;
}
|
이번에는 3G 와 wifi 가 연결되어있는지를 확인 하는 방법니다.
실시간으로 통신망을 알고싶다면 ConnectivityManager.CONNECTIVITY_ACTION 을 브로드캐스트 리시버에 등록해서 볼것
ConnectivityManager manager =
(connectivityMnager)getSystemService(Context.CONNECTIVITY_SERVICE);
// 3G 연결확인
boolean Mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();
// Wifi 연결확인
boolean wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
True 값이 떨어지면 연결되어 있는 상태이다