Windows Phone 7 检查手机网络

简介:

在空间Microsoft.Phone.Net.NetworkInformation下的NetworkInterface类 和NetworkInterfaceType类是Windows Phone 7手机网络信息相关的类。NetworkInterface提供了当前手机网络的一些信息,NetworkInterfaceType是一个手机网络的类型的枚举。
下面用一个小例子来使用NetworkInterface和NetworkInterfaceType来检查手机的网络状态。

 

 

 

 
  1.  
  2. <Grid   x:Name="LayoutRoot" Background="Transparent"> 
  3.  
  4.         <Grid.RowDefinitions> 
  5.  
  6.             <RowDefinition   Height="Auto" /> 
  7.  
  8.             <RowDefinition     Height="*" /> 
  9.  
  10.         </Grid.RowDefinitions> 
  11.  
  12.         <StackPanel  x:Name="TitlePanel"  Grid.Row="0"  Margin="12,17,0,28"> 
  13.  
  14.             <TextBlock  x:Name="PageTitle"  Text="检查手机网络"   Margin="9,-7,0,0"   Style="{StaticResource PhoneTextTitle1Style}" /> 
  15.  
  16.         </StackPanel> 
  17.  
  18.         <Grid   x:Name="ContentPanel"   Grid.Row="1"   Margin="12,0,12,0"> 
  19.  
  20.             <TextBox  Name="Message"   Background="Yellow"    Text="Unknown"   VerticalAlignment="Center"    HorizontalAlignment="Center" Margin="131,184,94,378" Width="231" /> 
  21.  
  22.             <Button Content="查看网络信息" Height="72" HorizontalAlignment="Left" Margin="103,6,0,0" Name="button1" VerticalAlignment="Top" Width="244" Click="button1_Click" /> 
  23.  
  24.             <TextBox Height="72" HorizontalAlignment="Left" Margin="131,271,0,0" Name="netname" Text="TextBox" VerticalAlignment="Top" Width="244" /> 
  25.  
  26.             <TextBlock Height="49" HorizontalAlignment="Left" Margin="9,198,0,0" Name="textBlock1" Text="网络状态:" VerticalAlignment="Top" Width="121" /> 
  27.  
  28.             <TextBlock HorizontalAlignment="Left" Margin="9,287,0,310" Name="textBlock2" Text="网络类型:" /> 
  29.  
  30.         </Grid> 
  31.  
  32.     </Grid> 

 

 
  1.  
  2. using System;  
  3.  
  4. using System.Collections.Generic;  
  5.  
  6. using System.Linq;  
  7.  
  8. using System.Net;  
  9.  
  10. using System.Windows;  
  11.  
  12. using System.Windows.Controls;  
  13.  
  14. using System.Windows.Documents;  
  15.  
  16. using System.Windows.Input;  
  17.  
  18. using System.Windows.Media;  
  19.  
  20. using System.Windows.Media.Animation;  
  21.  
  22. using System.Windows.Shapes;  
  23.  
  24. using Microsoft.Phone.Controls;  
  25.  
  26. using System.Net.NetworkInformation;  
  27.  
  28. using Microsoft.Phone.Net.NetworkInformation;   
  29.  
  30.     
  31.  
  32. namespace checknet  
  33.  
  34. {  
  35.  
  36.     public partial class MainPage : PhoneApplicationPage  
  37.  
  38.     {  
  39.  
  40.         private bool networkIsAvailable;  
  41.  
  42.         private NetworkInterfaceType _currentNetworkType; //网络连接的类型  
  43.  
  44.    
  45.  
  46.         public MainPage()  
  47.  
  48.         {  
  49.  
  50.             InitializeComponent();  
  51.  
  52.         }  
  53.  
  54.    
  55.  
  56.         private void button1_Click(object sender, RoutedEventArgs e)  
  57.  
  58.         {  
  59.  
  60.             networkIsAvailable = Microsoft.Phone.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();//当前网络是否可用  
  61.  
  62.             _currentNetworkType = Microsoft.Phone.Net.NetworkInformation.NetworkInterface.NetworkInterfaceType;//获取当前网络的类型  
  63.  
  64.    
  65.  
  66.             if (networkIsAvailable)  
  67.  
  68.             {  
  69.  
  70.                 Message.Text = "联网状态";  
  71.  
  72.                 Message.Background = new SolidColorBrush(Colors.Green);  
  73.  
  74.             }  
  75.  
  76.             else  
  77.  
  78.             {  
  79.  
  80.                 Message.Text = "断网状态";  
  81.  
  82.                 Message.Background = new SolidColorBrush(Colors.Red);  
  83.  
  84.             }   
  85.  
  86.     
  87.  
  88.             switch (_currentNetworkType)  
  89.  
  90.             {  
  91.  
  92.                 case NetworkInterfaceType.MobileBroadbandCdma:  
  93.  
  94.                     netname.Text = "Cdma网络";  
  95.  
  96.                     break;  
  97.  
  98.                 case NetworkInterfaceType.MobileBroadbandGsm:  
  99.  
  100.                     netname.Text = "Csm网络";  
  101.  
  102.                     break;  
  103.  
  104.                 case NetworkInterfaceType.Wireless80211:  
  105.  
  106.                     netname.Text = "Wireless网络";  
  107.  
  108.                     break;  
  109.  
  110.                 case NetworkInterfaceType.Ethernet:  
  111.  
  112.                     netname.Text = "Ethernet网络";  
  113.  
  114.                     break;  
  115.  
  116.                 case NetworkInterfaceType.None:  
  117.  
  118.                     netname.Text = "网络不可用";  
  119.  
  120.                     break;  
  121.  
  122.                 default:  
  123.  
  124.                     netname.Text = "其他的网络";  
  125.  
  126.                     break;  
  127.  
  128.             }         
  129.  
  130.         }  
  131.  
  132.     }  
  133.  

 本文转自linzheng 51CTO博客,原文链接:http://blog.51cto.com/linzheng/1078644



相关文章
|
3月前
|
缓存 网络协议 数据安全/隐私保护
[运维笔记] - (命令).Windows server常用网络相关命令总结
[运维笔记] - (命令).Windows server常用网络相关命令总结
189 0
|
1月前
|
Linux iOS开发 MacOS
|
1月前
|
缓存 网络协议 Unix
Windows 命令提示符(CMD)操作(四):网络通信
Windows 命令提示符(CMD)操作(四):网络通信
62 0
|
6月前
|
网络协议 程序员 API
[笔记] Microsoft Windows网络编程《一》WinSock简介(四)
[笔记] Microsoft Windows网络编程《一》WinSock简介(四)
|
4月前
|
网络协议 关系型数据库 网络虚拟化
Windows网络服务综测刷题
Windows网络服务综测刷题
26 0
|
6月前
|
人工智能 网络协议 API
[笔记] Microsoft Windows网络编程《三》网际协议(三)
[笔记] Microsoft Windows网络编程《三》网际协议(三)
|
6月前
|
人工智能 网络协议 API
[笔记] Microsoft Windows网络编程《三》网际协议(二)
[笔记] Microsoft Windows网络编程《三》网际协议(二)
|
6月前
|
网络协议 API 网络架构
[笔记] Microsoft Windows网络编程《三》网际协议(一)
[笔记] Microsoft Windows网络编程《三》网际协议
|
6月前
|
网络协议 API 网络性能优化
[笔记] Microsoft Windows网络编程《二》设计Winsock
[笔记] Microsoft Windows网络编程《二》设计Winsock
|
6月前
|
网络协议 程序员 API
[笔记] Microsoft Windows网络编程《一》WinSock简介(三)
[笔记] Microsoft Windows网络编程《一》WinSock简介(三)

热门文章

最新文章