WP7如何在设备上调试飞行模式?
问题描述:
有没有办法在设备上调试飞行模式?我尝试在设备设置中启用飞行模式并禁用计算机上的Internet连接,但NetworkInterface.GetIsNetworkAvailable()仍然返回true。难道我做错了什么?WP7如何在设备上调试飞行模式?
答
通知在official doc底部的评论:
该API将始终 在Windows Phone 7模拟器返回true。因此测试 需要正面,模拟或 有条件的代码块。
我刚刚在一个实际的设备上测试了这个,实际上它返回一个常量true
。
但是,事情是 - 这都是因为你保持你的手机连接到PC和以太网接口可用。一旦你断开手机并启动应用程序,你会看到一个False将被返回。
答
WiFi和/或蓝牙可能未被禁用。这可能会导致GetIsNetworkAvailable()返回true。据this page:
当您在飞行模式中,你可以 仍然打开手机的Wi-Fi和蓝牙 和关闭独立。
也许设备正在做的假设是,你可能只想自动将蜂窝接入和蓝牙/ WiFi分开。
答
您可以检查什么样的接口是可用的: NetworkInterfaceType
NetworkInterfaceType.MobileBroadbandCdma:
NetworkInterfaceType.MobileBroadbandGsm
这些应该被禁用。
飞行模式开启,wi-fi和蓝牙关闭,计算机的互联网(wi-fi和以太网)被禁用,但GetIsNetworkAvailable()仍然返回true。 – CACuzcatlan 2011-02-03 02:20:21
,因为可能GetIsNetworkAvailable()不检查你是否有互联网,它只是检查手机是否连接。 – 2011-02-03 02:31:38
连接到了什么?根据MSDN,如果网络连接可用,则方法返回“true”;否则返回false。如果没有互联网连接,它应该返回false,并且当我没有在设备上进行调试时,它会按预期工作。 – CACuzcatlan 2011-02-03 03:01:47