Search code examples
androidandroid-wifi

WiFi state is not enabling


I am trying to create a widget for enabling and disabling the wifi.

if(myWifiManager.isWifiEnabled()){
            System.out.println("Toggle Wifi Enabled going to disable");
            myWifiManager.setWifiEnabled(false);
        }
        else{
            System.out.println("Wifi Disabled going to enable ");

            myWifiManager.setWifiEnabled(true);
            System.out.println("WI: "+myWifiManager.isWifiEnabled());
        }

This is the code i am using the disabling part is working fine but the enabling part is not working fine. Soon after enabling the wifi i am printing the wifi state i am getting it as false.


Solution

  • Here is how to turn on and turn off wifi in android.

    First you need to declare the following in your manifest file

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
    <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"></uses-permission>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
    <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
    

    After doing it that on your Activity class

    private WifiManager wifiManager;
    @Override 
    public void onCreate(Bundle icicle) {
     ....................
     wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
     if(wifiManager.isWifiEnabled()){
     wifiManager.setWifiEnabled(false);
     }else{
    wifiManager.setWifiEnabled(true);
    }
    

    }

    Explanation

    Get the Wifi service from our system

    wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
    

    Check the our wifi is currently turned on or turned off

    if(wifiManager.isWifiEnabled()){
    

    Turn on/off our wifi wifiManager.setWifiEnabled();

    Reference

    WifiEnabler

    http://google-androidlovers.blogspot.com/2012/01/scan-for-wireless-networks-in-android.html

    http://www.java2s.com/Open-Source/Android/android-platform-apps/Settings/com/android/settings/wifi/WifiApEnabler.java.htm