9

i want to check internet connection in my application.but, its not displaying properly.

i am using this code for internet connection:

 NetworkInterface.GetIsNetworkAvailable();

in this code always return true value.if net available or not available return true only.

if anyone know tell me idea to do this.

thanks.

Jeeva
  • 1,166
  • 4
  • 18
  • 39

3 Answers3

16

Check NetworkInterfaceType. If Internet is available then It should be other than None

 return (Microsoft.Phone.Net.NetworkInformation.NetworkInterface.NetworkInterfaceType != 
 Microsoft.Phone.Net.NetworkInformation.NetworkInterfaceType.None);
vjsrinath
  • 366
  • 3
  • 6
  • NetworkInterface.GetIsNetworkAvailable();NetworkInterface.Equal(); NetworkInterface.RefenceEqual(); showing this 3 option only. NetworkInterface.NetworkInterfaceType this option not avialble check it. – Jeeva Dec 01 '11 at 12:36
  • 1
    It's in Microsoft.Phone.Net.NetworkInformation namespace. You are probably using System.Net.NetworkInformation and looking there – Ku6opr Dec 01 '11 at 13:22
  • Any idea why calling this from WP8 emulator with no network makes VS and the emulator not respond for 10-15 seconds? – MLProgrammer-CiM Dec 06 '12 at 15:49
6

In the Windows Phone Emulator it's correct that NetworkInterface.GetIsNetworkAvailable() will always return true. Even if your PC has no internet connection, the emulator counts the local/internal connection to your PC.

The return value will be false if you test your application on a real device and switch it e.g. in flight-mode.

Anheledir
  • 4,337
  • 7
  • 32
  • 34
3

Yes NetworkInterface.GetIsNetworkAvailable() will always return true on windows phone emulator you can try below code to detect network availability.

using Microsoft.Phone.Net.NetworkInformation;    
    if (DeviceNetworkInformation.IsNetworkAvailable)
    {
    MessageBox.Show("network available") ;              
    }
    else
    {
    MessageBox.Show("No network.") ;   
    }
Jaihind
  • 2,770
  • 1
  • 12
  • 19