UWPでインターネットの接続状態を確認するには、NetworkInformationクラスを使います。
NetworkInformationクラスのGetInternetConnectionProfileでインターネット接続へのConnectionprofileクラスが取得できます。これに対して、GetNetworkConnectivityLevelを呼び出すとネットワークの接続状態が取れます。NetworkInformationクラスの状態が変わったときに発生するイベントのNetworkStatusChangedイベントを組み合わせると、ネットワークの状態をリアルタイムに表示することが出来ます。
画面にTextBlockをTextBlockという名前でおいて以下のコードをコードビハインドに書くとネットワークの状況に応じて接続状況が画面に表示されるようになります。
using System; using Windows.Networking.Connectivity; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Navigation; namespace App44 { public sealed partial class MainPage : Page { public MainPage() { this.InitializeComponent(); } protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); NetworkInformation.NetworkStatusChanged += this.NetworkInformation_NetworkStatusChanged; this.NetworkInformation_NetworkStatusChanged(null); } protected override void OnNavigatedFrom(NavigationEventArgs e) { base.OnNavigatedFrom(e); NetworkInformation.NetworkStatusChanged -= this.NetworkInformation_NetworkStatusChanged; } private async void NetworkInformation_NetworkStatusChanged(object sender) { var ni = NetworkInformation.GetInternetConnectionProfile(); if (ni != null) { var text = default(string); if (ni.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.InternetAccess) { text = "接続中"; } else { text = "接続中ではありません。"; } if (this.Dispatcher.HasThreadAccess) { this.TextBlock.Text = text; } else { await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { this.TextBlock.Text = text; }); } } } } }