I wanted to check whether my phone can connect to Internet or not. I have seen several questions already. One of those is Question . It says to use NetworkInterface.GetIsNetworkAvailable()
this and i tried it. I have disconnected my PC from internet and Also turned off the DataConnection
of the emulator but NetworkInterface.GetIsNetworkAvailable()
this always returning true. But simultaneouly i also check for NetworkInterfaceType.None
and interestingly it is coming null.
Can anybody explain where i am missing info ?
Attempt : -
public static void CheckNetworkAvailability()
{
// this is coming true even when i disconnected my pc from internet.
// i also make the dataconnection off of the emulator
var fg = NetworkInterface.GetIsNetworkAvailable();
var ni = NetworkInterface.NetworkInterfaceType;
// this part is coming none
if (ni == NetworkInterfaceType.None)
IsConnected = false;
}
any help is appreciated :)
NetworkInterface.GetIsNetworkAvailable()
checks thenetwork connection
and not theinternet connection
. If you are in any kind of network, then it will returntrue
whetherinternet
is present or not.You can check the internet connection as following:
I am using following code to check if the device has access to internet with if it is connected to wifi or data connection..
Edit: And for simple internet connection you can use below code.
Hope this helps!
The emulator always returns
NetworkInterface.GetIsNetworkAvailable()
as true, even if you emulate network conditions as having no network.I faced this problem myself and the only truly way of testing this behaviour is to deploy the application to a physical device running Windows Phone and test it with the data turned off.