我的团队正在开发一个团队项目应用程序.目前,我们需要一个事件处理程序来检查连接状态(如果它是打开/关闭的).
我对System.Net.NetworkInformation命名空间寄予厚望,但遗憾的是wp8不支持最重要的事情.
任何人都可以帮我一点吗?
编辑1#
看来,我没有很好地指出我的问题.我正在使用Mvvm light expresion,它不支持该命名空间,或者至少我无法添加它.
我是使用VS和c#atm的新手,mayby我做错了,但只是当我试图添加引用到我的项目时它没有列出.
Jus*_*gel 29
我没有在WP8上尝试过System.Net.NetworkInformation命名空间.但新的WP8 Windows.Networking.Connectivity Windows Phone Runtime命名空间工作得很好.
使用Windows.Networking.Connectivity.NetworkInformation.NetworkStatusChanged了解网络状况何时发生变化,并使用Microsoft.Phone.Net.NetworkInformation.NetworkInterface属性或Windows.Networking.Connectivity.NetworkInformation属性查看内容.
private async void MainPage_Loaded(object sender, RoutedEventArgs e)
{
PrintNetworkStatus();
NetworkInformation.NetworkStatusChanged += NetworkInformation_NetworkStatusChanged;
}
void NetworkInformation_NetworkStatusChanged(object sender)
{
PrintNetworkStatus();
}
private void PrintNetworkStatus()
{
Dispatcher.BeginInvoke(() =>
MessageBox.Show(NetworkInterface.NetworkInterfaceType +
Environment.NewLine +
NetworkInterface.GetIsNetworkAvailable()));
}
Run Code Online (Sandbox Code Playgroud)
当我在WP8 Lumia 920上测试此代码片段时,它按预期工作.在我的手机在WiFi上启动时,我只看到以下MessageBox:

一旦我关闭了我的WiFI路由器并且手机上的WiFi连接丢失,我看到以下MessageBox:

Apo*_*orv 18
试试这个:
bool isNetwork=NetworkInterface.GetIsNetworkAvailable();
if(!isNetwork)
{
//proceed with your code
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14142 次 |
| 最近记录: |