What\'s the difference between ACCESS_NETWORK_STATE and INTERNET?
If I use INTERNET, is it necessary to use ACCESS_NETWORK_STATE?
In other words, can I use INTER
INTERNET allows you to use the internet
ACCESS_NETWORK_STATE allows you to get the state of the network (wifi ,3g,4g) also you can check if the network is connected or not
If there is no internet the HTTP request will fail and you will get some sort of exception that you will have to handle
From the documentation:
ACCESS_NETWORK_STATE
:
Allows applications to access information about networks
INTERNET
:
Allows applications to open network sockets.
In short, the INTERNET
permission lets you use the internet, whereas ACCESS_NETWORK_STATE
will just give you information about the network, such as whether you are connected to a network at all.
You can use either one without needing the other. If you don't check that you have a valid network connection before trying to use the Internet, your HTTP requests will simply fail.
android.permission.INTERNET
is enough if you just want to use internet (connect to a web service or show a web page on webView).
android.permission.ACCESS_NETWORK_STATE
is "nice to have" to query status of network state before using internet.