在空间Microsoft.Phone.Net.NetworkInformation下的类 和类是Windows Phone 7手机网络信息相关的类。NetworkInterface提供了当前手机网络的一些信息,NetworkInterfaceType是一个手机网络的类型的枚举。
下面用一个小例子来使用NetworkInterface和NetworkInterfaceType来检查手机的网络状态。 <Grid x:Name= "LayoutRoot" Background= "Transparent" > <Grid.RowDefinitions> <RowDefinition Height= "Auto" /> <RowDefinition Height= "*" /> </Grid.RowDefinitions> <StackPanel x:Name= "TitlePanel" Grid.Row= "0" Margin= "12,17,0,28" > <TextBlock x:Name= "PageTitle" Text= "检查手机网络" Margin= "9,-7,0,0" Style= "{StaticResource PhoneTextTitle1Style}" /> </StackPanel> <Grid x:Name= "ContentPanel" Grid.Row= "1" Margin= "12,0,12,0" > <TextBox Name= "Message" Background= "Yellow" Text= "Unknown" VerticalAlignment= "Center" HorizontalAlignment= "Center" Margin= "131,184,94,378" Width= "231" /> <Button Content= "查看网络信息" Height= "72" HorizontalAlignment= "Left" Margin= "103,6,0,0" Name= "button1" VerticalAlignment= "Top" Width= "244" Click= "button1_Click" /> <TextBox Height= "72" HorizontalAlignment= "Left" Margin= "131,271,0,0" Name= "netname" Text= "TextBox" VerticalAlignment= "Top" Width= "244" /> <TextBlock Height= "49" HorizontalAlignment= "Left" Margin= "9,198,0,0" Name= "textBlock1" Text= "网络状态:" VerticalAlignment= "Top" Width= "121" /> <TextBlock HorizontalAlignment= "Left" Margin= "9,287,0,310" Name= "textBlock2" Text= "网络类型:" /> </Grid> </Grid> |
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using System.Net.NetworkInformation; using Microsoft.Phone.Net.NetworkInformation; namespace checknet { public partial class MainPage : PhoneApplicationPage { private bool networkIsAvailable; private NetworkInterfaceType _currentNetworkType; //网络连接的类型 public MainPage() { InitializeComponent(); } private void button1_Click( object sender, RoutedEventArgs e) { networkIsAvailable = Microsoft.Phone.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable(); //当前网络是否可用 _currentNetworkType = Microsoft.Phone.Net.NetworkInformation.NetworkInterface.NetworkInterfaceType; //获取当前网络的类型 if (networkIsAvailable) { Message.Text = "联网状态" ; Message.Background = new SolidColorBrush(Colors.Green); } else { Message.Text = "断网状态" ; Message.Background = new SolidColorBrush(Colors.Red); } switch (_currentNetworkType) { case NetworkInterfaceType.MobileBroadbandCdma: netname.Text = "Cdma网络" ; break ; case NetworkInterfaceType.MobileBroadbandGsm: netname.Text = "Csm网络" ; break ; case NetworkInterfaceType.Wireless80211: netname.Text = "Wireless网络" ; break ; case NetworkInterfaceType.Ethernet: netname.Text = "Ethernet网络" ; break ; case NetworkInterfaceType.None: netname.Text = "网络不可用" ; break ; default : netname.Text = "其他的网络" ; break ; } } } } |