Windows Phone 7監測網路環境變化
有些應用是跟網路環境敏感的,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
本文來自董超的部落格,原文地址:http://www.cnblogs.com/dc10101/archive/2012/01/03/2310622.html
相關文章
- Windows Phone網路HttpWebRequest用法WindowsHTTPWeb
- 【轉】Windows Phone 8 開發環境的搭建Windows開發環境
- 安卓監聽網路變化安卓
- RAC環境網路故障測試
- windows配置環境變數Windows變數
- 物聯網路卡應用於環境監測
- 探索Windows Phone 7的單元測試(翻譯)Windows
- Windows Phone 7 墓碑機制Windows
- Windows Phone 7程式設計Windows程式設計
- 遙感技術在環境監測中的應用:揭秘地球變化的天眼
- go 在 Windows 上環境變數GoWindows變數
- Windows Phone 8.1 傳送http 網路請求。WindowsHTTP
- HTML Agility Pack for Windows Phone 7 (WP7)HTMLWindows
- GBASEDBTSERVER 環境變數7GBASEDBTSHMBASE 環境變數 (UNIX™)Server變數
- Linux 系統環境監測Linux
- Windows Phone 7解析圖片格式Windows
- 在CentOS 7中上部署fabric v2.2.0環境和測試網路CentOS
- Centos7環境變數設定CentOS變數
- windows 7上修改oracle10g的環境變數nls_langWindowsOracle變數
- 5G+化工園區安全環境一體化監測物聯網平臺
- 配置oracle網路環境Oracle
- Java之JDK環境變數配置全套圖文詳解(含Windows7、Windows10)JavaJDK變數Windows
- Ant系列-在windows下配置環境變數Windows變數
- Windows下Java環境變數的配置(詳)WindowsJava變數
- windows11快速開啟環境變數Windows變數
- win10 如何讓環境變數生效_windows10如何設定環境變數Win10變數Windows
- Windows配置Delve的測試環境Windows
- Windows建立Cucumber和Ruby測試環境Windows
- nagios 監控windows環境簡要說明iOSWindows
- Windows bcdedit刪除多啟動項---Windows 7環境下Windows
- 一起學Windows Phone7開發(十四.一 Phone Task)Windows
- 記-Windows環境下Prometheus+alertmanager+windows_exporter+mtail監控部署WindowsPrometheusExportAI
- Windows Phone 7 開發 31 日談——第21日:Silverlight Toolkit for Windows PhoneWindows
- Windows Phone 7 點陣圖程式設計Windows程式設計
- Windows Phone 7 SIM卡資訊獲取Windows
- 環境監測物聯網,助力實現空氣質量監測站無人值守智慧巡檢
- windows7系統JDK的path環境變數配置兩種方式詳解WindowsJDK變數
- windows環境下Django環境搭建WindowsDjango