Windows Phone 7監測網路環境變化

來源:互聯網
上載者:User

有些應用是跟網路環境敏感的,WiFi快且免費,3G走流量,GSM慢,所以我們需要知道如何判斷當前的網路類型,以及當網路類型發生改變時如何得到通知。

MSDN相關文章:How To: Detect Network Changes

下面我簡單介紹一下。

 

當網路發生變化時,會引髮網絡地址發生變化,要監測這一事件,需要用到位於System.Net.NetworkInformation命名空間下的NetworkChange類。

要查看網路連接的類型和狀態,用到的類都在Microsoft.Phone.Net.NetworkInformation這個命名空間裡。

 

注意上面兩個不同的命名空間,Microsoft.Phone.Net.NetworkInformation是專門用於手機,System.Net.NetworkInformation用於各種場合。由於這兩個類中的名字衝突很多,一起用的時候注意區分好。

 

網路環境變化時得到通知

只需要監聽一個事件:

NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(NetworkChange_NetworkAddressChanged);

……

void NetworkChange_NetworkAddressChanged(object sender, EventArgs e){    string content = string.Format(            @"CellularMobileOperator        {0}            IsCellularDataEnabled           {1}            IsCellularDataRoamingEnabled    {2}            IsNetworkAvailable              {3}            IsWiFiEnabled                   {4}",            DeviceNetworkInformation.CellularMobileOperator, // 電訊廠商名字,例如“中國移動”            DeviceNetworkInformation.IsCellularDataEnabled,            DeviceNetworkInformation.IsCellularDataRoamingEnabled,            DeviceNetworkInformation.IsNetworkAvailable,            DeviceNetworkInformation.IsWiFiEnabled);     NetworkInterfaceList list = new NetworkInterfaceList(); // 獲得所有NetworkInterfaces    foreach (var item in list)    {        string text = string.Format(            @"            Bandwidth       {0}            InterfaceName   {1}            InterfaceState  {2}            InterfaceType   {3}            ",            item.Bandwidth, // 單位是Kbps(千位元每秒)            item.InterfaceName, // 網路連接的名字            item.InterfaceState, // 枚舉 Connected/Disconnected            item.InterfaceType); // 網路類型的枚舉                content += text;    }    textBlock_NetworkInfo.Text = content;}

經過我的測試,應用被切換到後台時網路環境發生了變化,在切換回前台運行後,也一樣能立即偵測到這個事件。

 

在Microsoft.Phone.Net.NetworkInformation.NetworkInterface命名空間下的NetworkInterfaceType枚舉,比較典型的值有:

  • Wireless80211  -- WiFi
  • Ethernet   -- USB
  • MobileBroadbandGSM
  • MobileBroadbandCDMA
  • None
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.