Android : Neither user 10085 nor current process has android.permission.ACCESS_NETWORK_STATE


Stack Trace :
02-04 17:25:20.009    4939-4939/com.code2care.tools.sample E/AndroidRuntime﹕ FATAL EXCEPTION: main
   <b> java.lang.RuntimeException: Unable to start activity ComponentInfo{com.code2care.tools.sample/com.code2care.tools.sample.MainActivity}: java.lang.SecurityException: ConnectivityService: Neither user 10085 nor current process has android.permission.ACCESS_NETWORK_STATE.</b>
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
            at android.app.ActivityThread.access$1500(ActivityThread.java:117)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:130)
            at android.app.ActivityThread.main(ActivityThread.java:3687)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:507)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
            at dalvik.system.NativeStart.main(Native Method)
     <b>Caused by: java.lang.SecurityException: ConnectivityService: Neither user 10085 nor current process has android.permission.ACCESS_NETWORK_STATE.</b>
            at android.os.Parcel.readException(Parcel.java:1322)
            at android.os.Parcel.readException(Parcel.java:1276)
            at android.net.IConnectivityManager$Stub$Proxy.getNetworkInfo(IConnectivityManager.java:392)
            at android.net.ConnectivityManager.getNetworkInfo(ConnectivityManager.java:287)
            at com.code2care.tools.sample.MainActivity.checkWifiStatus(MainActivity.java:25)
            at com.code2care.tools.sample.MainActivity.onCreate(MainActivity.java:20)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
            at android.app.ActivityThread.access$1500(ActivityThread.java:117)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:130)
            at android.app.ActivityThread.main(ActivityThread.java:3687)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:507)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
            at dalvik.system.NativeStart.main(Native Method)

If you are working on Android Studio and you get the above Stack-trace while running your Android Application, then the reason mostly is that you have missed adding ACCESS_NETWORK_STATE user permission in the AndroidManifest.xml file.

Just add the following lime above the application tag in the Manifest.

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