WP7如何在设备上调试飞行模式?

问题描述:

有没有办法在设备上调试飞行模式?我尝试在设备设置中启用飞行模式并禁用计算机上的Internet连接,但NetworkInterface.GetIsNetworkAvailable()仍然返回true。难道我做错了什么?WP7如何在设备上调试飞行模式?

通知在official doc底部的评论:

该API将始终 在Windows Phone 7模拟器返回true。因此测试 需要正面,模拟或 有条件的代码块。

我刚刚在一个实际的设备上测试了这个,实际上它返回一个常量true

但是,事情是 - 这都是因为你保持你的手机连接到PC和以太网接口可用。一旦你断开手机并启动应用程序,你会看到一个False将被返回。

WiFi和/或蓝牙可能未被禁用。这可能会导致GetIsNetworkAvailable()返回true。据this page

当您在飞行模式中,你可以 仍然打开手机的Wi-Fi和蓝牙 和关闭独立。

也许设备正在做的假设是,你可能只想自动将蜂窝接入和蓝牙/ WiFi分开。

+0

飞行模式开启,wi-fi和蓝牙关闭,计算机的互联网(wi-fi和以太网)被禁用,但GetIsNetworkAvailable()仍然返回true。 – CACuzcatlan 2011-02-03 02:20:21

+0

,因为可能GetIsNetworkAvailable()不检查你是否有互联网,它只是检查手机是否连接。 – 2011-02-03 02:31:38

+0

连接到了什么?根据MSDN,如果网络连接可用,则方法返回“true”;否则返回false。如果没有互联网连接,它应该返回false,并且当我没有在设备上进行调试时,它会按预期工作。 – CACuzcatlan 2011-02-03 03:01:47

您可以检查什么样的接口是可用的: NetworkInterfaceType

NetworkInterfaceType.MobileBroadbandCdma: 
NetworkInterfaceType.MobileBroadbandGsm 

这些应该被禁用。