What's the difference between access network state (ACCESS_NETWORK_STATE) and WIFI state (ACCESS_WIFI_STATE) permissions?

AndroidAndroid ManifestAndroid Permissions

Android 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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJDroidView Question on Stackoverflow
Solution 1 - AndroidguidoView Answer on Stackoverflow
Solution 2 - AndroidTom el SafadiView Answer on Stackoverflow
Solution 3 - AndroidJustin NiessnerView Answer on Stackoverflow