Search code examples
androidwifi

Wifi activation and permissions


I'm trying to start wifi service on my device with this method :

public void wifiActivation() {
    Context context = MainActivity.this;
    WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);

    //Boolean checkWifiStatus = wifiManager.isWifiEnabled();

    /*if(!checkWifiStatus ){*/
        try
        {       
             Boolean checkWifiStatus = wifiManager.isWifiEnabled();
             wifiManager.setWifiEnabled(true);
        }
        catch(Exception ex)
        {
             ex.printStackTrace();
        }
}

But i catched an error on the boolean value 'checkWifiStatus', i guess it's about permissions :

java.lang.SecurityException: WifiService: Neither user 10126 nor current process has android.permission.ACCESS_WIFI_STATE.

But in my manifest you can find theses permissions :

    <!-- Internet Permissions -->
    <uses-permission android:name="android.permission.INTERNET" />

    <!-- Network State Permissions -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <!-- Wifi State Permissions -->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />  
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

Solution

  • Along with your existing permissions, also Add the following permission:

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