Exception reading Wifi/3G State
10,787
Solution 1
You've mispelled the latest 2 permissions:
useR-permission instead of useS-permission
Solution 2
Your manifest permissions are wrong.
you have user-permission instead of uses-permission
![Marcos Vasconcelos](https://i.stack.imgur.com/XZg0R.jpg?s=256&g=1)
Comments
-
Marcos Vasconcelos almost 2 years
Hi I have the following code that reads Network/Wifi state:
public String getMacAddress() { WifiManager wm = (WifiManager) context .getSystemService(Context.WIFI_SERVICE); return wm.getConnectionInfo().getMacAddress(); }
This throws
Caused by: java.lang.SecurityException: WifiService: Neither user 10032 nor current process has android.permission.ACCESS_WIFI_STATE
And
public boolean is3G() { ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); return !(connectivityManager.getNetworkInfo( ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED || connectivityManager .getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED); }
This throws
Caused by: java.lang.SecurityException: ConnectivityService: Neither user 10032 nor current process has android.permission.ACCESS_NETWORK_STATE.
Before someone tell me about the permissions, that is my Manifest (the relevant part):
<manifest> <!-- usual tags for activitys... etc.. --> <uses-permission android:name="android.permission.WRITE_OWNER_DATA" /> <uses-permission android:name="android.permission.READ_OWNER_DATA" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <user-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <user-permission android:name="android.permission.ACCESS_WIFI_STATE" /> </manifest>