Windows Phone开发基础 (5)判断Windows phone 手机是否联网

  在空间Microsoft.Phone.Net.NetworkInformation下的NetworkInterface类 和NetworkInterfaceType类是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 ;
             }      
         }
     }
}

转载于:https://www.cnblogs.com/Belling/archive/2013/03/30/2990199.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值