What's the difference between access network state (ACCESS_NETWORK_STATE) and WIFI state (ACCESS_WIFI_STATE) permissions?
AndroidAndroid ManifestAndroid PermissionsAndroid Problem Overview
In Permissions tab of Android Manifest, in the drop down there are options called android.permission.ACCESS_NETWORK_STATE
and android.permission.ACCESS_WIFI_STATE
. What is the difference between them? Is ACCESS_NETWORK_STATE
more generalized than ACCESS_WIFI_STATE
?
Android Solutions
Solution 1 - Android
android.permission.ACCESS_NETWORK_STATE
is needed for accessing ConnectivityManager (mainly for monitoring network connections in general), while android.permission.ACCESS_WIFI_STATE
grants access to WifiManager (for managing all aspects of Wi-Fi connectivity in particular).
Solution 2 - Android
ACCESS_NETWORK_STATE
is required to check if you are connected to a network, it does not matter of what type it is (Wi-Fi, GPRS, UMTS, etc.).
ACCESS_WIFI_STATE
is not required to prope for internet connections.
To answer most of the questions, yes you don’t need the ACCESS_WIFI_STATE
if merely checking for connectivity.
Solution 3 - Android
Network state refers to cellular network connectivity.
Wifi state refers to the state of the phone's Wifi connection.