 <p>The <code>NetworkInformation.GetInternetConnectionProfile()</code> on Windows Phone 8 is a newer WinRT based API but unfortunately it doesn't look like most of the methods were implemented.</p> <p>At runtime, using the debugger, you'll see that nearly all of the properties throw exceptions of type <code>NotImplementedException</code>. But because the methods and properties were stubbed, Visual Studio doesn't know any better and allows the code to be compiled.</p> <p>I have tested the following methods in WP8 SL, WP8.1 SL, WP8.1 XAML projects with the WP8 and WP8.1 emulators, where possible, to confirm the following... </p> <p><br></p> <h2>Windows Phone 7.5 and 8.0</h2> <p>As <code>NetworkInformation.GetInternetConnectionProfile()</code> either isn't implemented fully (or at all on 7.5), <a href="http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202859(v=vs.105).aspx" rel="nofollow">the MSDN documentation recommends</a>...</p> <pre><code>DeviceNetworkInformation.IsNetworkAvailable(); </code></pre> <p><strong>Note:</strong> this can still be used in Windows Phone 8.1 Silverlight</p> <p><br></p> <h2>Windows Phone 8.1 SL and XAML/WinRT</h2> <p>Due to increasing convergence between Windows 8 and Windows Phone 8, nearly all of WinRT APIs are now available in Windows Phone 8.1. If you're making a Windows Phone 8.1 (SL or XAML) or a Universal all (Windows 8.1 + Windows Phone 8.1), it makes sense to use the latest API...</p> <pre><code>NetworkInformation.GetInternetConnectionProfile() </code></pre>