博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows Phone开发基础 (5)判断Windows phone 手机是否联网
阅读量:5089 次
发布时间:2019-06-13

本文共 2992 字,大约阅读时间需要 9 分钟。

  在空间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
;
            
}      
        
}
    
}
}

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

你可能感兴趣的文章