0

アプリにウェブブラウザがあります。インターネット接続が失われたときに webbrowser で何かをする必要があります。たとえば、MessageBox を表示し、インターネットが再び利用可能になったら Web サイトに再接続します。DeviceNetworkInformation.NetworkAvailabilityChanged イベントを使用できることがわかりましたが、テスト中にイベントが発生しません。ナビゲートするときに DeviceNetworkInformation.IsNetworkAvailable を使用しようとしましたが、これには必要な機能がありません。Nokia Lumia 710 でテストしています。

ここで私の簡単なコード、私はmsdn http://msdn.microsoft.com/en-us/library/microsoft.phone.net.networkinformation.devicenetworkinformation.networkavailabilitychanged%28v=vs.92%29.aspxの例から彼を作ります

DeviceNetworkInformation.NetworkAvailabilityChanged += 新しい EventHandler(NetworkAvailabilityChanged);

    void NetworkAvailabilityChanged(object sender, NetworkNotificationEventArgs e)
    {            
       string info = string.Empty;
       bool connection = false;
       bool disco = false;

        switch (e.NotificationType)
        {                    
            case NetworkNotificationType.InterfaceConnected:                    
                    connection = true;                        
                    break;

            case NetworkNotificationType.InterfaceDisconnected:                    
                    info = "Lost Internet";      
                    disco=true;                                      
                    break;

            case NetworkNotificationType.CharacteristicUpdate:                   
                   break;                                 
            default:                   
                   break;

        }
        Dispatcher.BeginInvoke(() =>
        {
           if(disco)
            MessageBox.Show(info);

            if(connection)              
             webbrowser1.Navigate(site);                                         
        });
    }

これらのメソッド IsCellularDataEnabled、IsNetworkAvailable、IsWiFiEnabled が true を返すことを電話で確認する質問があります。イベント NetworkAvailabilityChanged は、1 つのタイプのネットワークのみが有効になっている場合にのみ機能することをどこかで読みました。これは本当ですか?

4

1 に答える 1

0

このページを確認してくださいhttp://msdn.microsoft.com/en-us/library/microsoft.phone.net.networkinformation.devicenetworkinformation.networkavailabilitychanged(v=vs.92).aspxの情報を取得できますそれが言うように NetworkNotificationEventArgs 引数から切断されました...

于 2012-05-18T20:18:04.913 に答える