Maxim Shoustin
Maxim Shoustin

Reputation: 77904

How to verify that Wifi AP or Cell have internet?

I'm looking for best technique to verify internet over WiFi or Cell. Let's say you are connected to some AP but you don't now if internet exists.

Today I have 2 options by using HttpURLConnection:

Any other ways?

All suggestions would be appreciated.

Upvotes: 2

Views: 242

Answers (3)

Sylvain Huard
Sylvain Huard

Reputation: 1398

Here it is:

to see the state of the data connection on the cell network

and for the WIFI, I would use this public class WifiInfo. From there you can use getIpAddress() or getDetailedStateOf(...) Hope it's helpful.

Upvotes: 0

mfsiega
mfsiega

Reputation: 2872

On some level, 'ability to access internet endpoints' is equivalent to 'having internet access'. You could consider some algorithm:

for (Endpoint site : theEntireInternet) {
    if (can connect to site) return true;
}
return false;

which will conclusively establish connectivity. In other words, being able to connect to any one site is sufficient positive proof, but theoretically you would need to enumerate every site to prove non-connectivity. In practice, checking a few major sites is obviously sufficient. Otherwise (without some sort of meta-information about networks, ISPs, etc; which is unavailable) there's no way to conclusively demonstrate "internet" connectivity other than... connecting to the internet.

Of course as you comment, checking various internet-based applications can't hurt either; it's just a different form of an equivalent technique.

Upvotes: 1

Sunny
Sunny

Reputation: 14808

See the Telephony Manager and it's getDataSate() method it has four state

DATA_DISCONNECTED
DATA_CONNECTING
DATA_CONNECTED
DATA_SUSPENDED

You can get the instance of telephony manager --

 TelephonyManager tm = (TelephonyManager)getSystemService(Telephony_Service); 

Upvotes: 1

Related Questions