轉自:http://blog.csdn.net/xuzhongxuan/article/details/6252792
Microsoft.Phone.Net.NetworkInformation Namespace
http://msdn.microsoft.com/en-us/library/ff707715(v=VS.92).aspx
在空間Microsoft.Phone.Net.NetworkInformation下的NetworkInterface 類 和NetworkInterfaceType 類是Windows Phone 7手機網絡資訊相關的類。NetworkInterface提供了目前手機網絡的一些資訊,NetworkInterfaceType是一個手機網絡的類型的枚舉。
下面用一個小例子來使用NetworkInterface和NetworkInterfaceType來檢查手機的網絡狀态。

[xhtml] view plain copy print ?
- <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}" mce_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>
[c-sharp:nogutter] view plain copy print ?
- 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;
- }
- }
- }
- }