0

我有一个稳定的 Windows Phone 8 应用程序,并且已经在野外使用了很长一段时间。一些用户报告了我无法重现的奇怪行为。但是,如果这些特定设备将 DeviceNetworkInformation.IsNetworkAvailable 报告为 true,而实际上应用程序无权访问在线数据,那么报告的奇怪行为将是有意义的。

DeviceNetworkInformation.IsNetworkAvailable 可靠吗?或者也许我应该检查其他东西以可靠地确定应用程序是否可以访问在线数据?

在我的例子中,有两个不同的功能受到影响——检查产品许可证的存在,并确定地图控件是否在线。两项检查都使用 DeviceNetworkInformation.IsNetworkAvailable。

用户报告的事件似乎非常罕见,但对受影响的用户来说是持久的。

4

1 回答 1

1

如果用户连接到 Wifi 或打开了移动数据,DeviceNetworkInformation.IsNetworkAvailable 将导致 true。这并不能保证 Wifi 正在将手机连接到互联网。或者在移动互联网的情况下,手机可以连接到 2G 网络,这有时不足以连接到服务或获取大量数据。

作为一种实践,使用 DeviceNetworkInformation.IsNetworkAvailable 作为访问的主要检查。但不要完全依赖它。还要注册DeviceNetworkInformation.NetworkAvailabilityChanged事件以检查代码运行时网络状态是否发生变化。

有关参考和更多详细信息,请查看本文

于 2015-05-11T09:12:05.697 回答