1

I have an error :

Caused by: java.lang.SecurityException: WifiService: Neither user 10132 nor current process has android.permission.ACCESS_WIFI_STATE.

I try do get wifi name (ssid). I use this code:

WifiManager wifiManager = (WifiManager) getSystemService (Context.WIFI_SERVICE);
System.out.println(wifiManager.getConnectionInfo ().getSSID ());

In my manifest file i added this permission:

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

What i do wrong? This and this doesn't work for me Thanks

My full logcat:

10-09 16:08:23.705  31988-31988/com.example.android.navigationdrawerexample E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.navigationdrawerexample/com.example.android.navigationdrawerexample.MainActivity}: java.lang.SecurityException: WifiService: Neither user 10132 nor current process has android.permission.ACCESS_WIFI_STATE.
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2255)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309)
            at android.app.ActivityThread.access$700(ActivityThread.java:157)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:176)
            at android.app.ActivityThread.main(ActivityThread.java:5319)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.SecurityException: WifiService: Neither user 10132 nor current process has android.permission.ACCESS_WIFI_STATE.
            at android.os.Parcel.readException(Parcel.java:1425)
            at android.os.Parcel.readException(Parcel.java:1379)
            at android.net.wifi.IWifiManager$Stub$Proxy.getConnectionInfo(IWifiManager.java:991)
            at android.net.wifi.WifiManager.getConnectionInfo(WifiManager.java:976)
            at com.example.android.navigationdrawerexample.MainActivity$PlanetFragment.onCreateView(MainActivity.java:261)
            at android.app.Fragment.performCreateView(Fragment.java:1699)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:903)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1075)
            at android.app.BackStackRecord.run(BackStackRecord.java:682)
            at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1455)
            at android.app.Activity.performStart(Activity.java:5335)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2227)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309)
            at android.app.ActivityThread.access$700(ActivityThread.java:157)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:176)
            at android.app.ActivityThread.main(ActivityThread.java:5319)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
            at dalvik.system.NativeStart.main(Native Method)
U. Windl
  • 3,480
  • 26
  • 54
Boris Kuzevanov
  • 1,232
  • 1
  • 12
  • 21
  • Check Spelling only or remove that permission and copy paste it again from deve site, error comes when we did spell mistakes. Or check your manifest thoroughly. Good luck :) – khurram Oct 09 '14 at 14:12

4 Answers4

3

Taking into account that you're using the right permission and the lines are syntactically correct, it's likely you've misplaced the permissions in your manifest, if you have them somewhere else but the root of the manifest xml node, they will likely not work at all. They need to go after <manifest> and before </manifest> but not inside <application> or <activity>

<manifest xlmns:android...>
 <uses-permission android:name="android.permission.INTERNET"/>
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 ...YOUR APPLICATION & ACTIVITY HERE...
</manifest>

Note that the manifest tag was simplified for readability

<uses-permission>

Juan Cortés
  • 20,634
  • 8
  • 68
  • 91
-2

add this in your AndroidManifest.xml

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

it is Ok for me!

-2
if(provider!=null && !provider.equals("")){

    // Get the location from the given provider
    Location location = locationManager.getLastKnownLocation(provider);   // error (call require permission which may be rejected by user)

    locationManager.requestLocationUpdates(provider, 20000, 1, this);

    if(location!=null)
        onLocationChanged(location);
    else
        Toast.makeText(getBaseContext(), "Location can't be retrieved", Toast.LENGTH_SHORT).show();
    }else{
        Toast.makeText(getBaseContext(), "No Provider Found", Toast.LENGTH_SHORT).show();
    }
}
Yurets
  • 3,999
  • 17
  • 54
  • 74
-3

when you change wifi state, this also need this.

try this.

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

Add this list of permission in the AndroidManifest.xml:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
harikrishnan
  • 1,985
  • 4
  • 32
  • 63