What's the difference between access network state (ACCESS_NETWORK_STATE) and WIFI state (ACCESS_WIFI_STATE) permissions?
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.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).
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.