当我到达启用互联网的区域(wifi圈子)时如何收到通知?

时间:2011-11-04 07:42:00

标签: silverlight-4.0 windows-phone-7

目前,我正在开发一款可在线上和线下模式下运行的Windows Phone应用程序。因此,如果网络可用,则意味着我需要将我的离线数据同步到相应的服务器。我的要求是,如果我的应用程序正常工作,当我到达启用wifi的圈子(区域)时,我需要收到通知。否则需要参加比赛。

我怎样才能做到这一点? WP7中是否存在任何通知通道以通知此情况?如果是,请展示一些代码来实现目标。

2 个答案:

答案 0 :(得分:5)

您可以确定您是否已连接到网络,您可以获取连接类型,并且手机会在线路上/线下时通知您:

  • NetworkInterface.GetIsNetworkAvailable()会检查您是在线还是离线
  • DeviceNetworkInformation告诉您有关网络类型的更多信息(Wifi,...)
  • NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(OnNetworkChangeHandler);注册一个侦听器以侦听更改

Click here for an example关于如何倾听变化。同样非常好的是this tutorial from MSDN,展示了上面提到的所有好东西!

我还建议阅读this blog post,因为它包含有关不同API的重要信息。

PS:无法获得手机周围所有可用WLAN的列表。您只能看到连接的WLAN(如果)。这是Windows Phone API的限制。

答案 1 :(得分:0)

该平台不包括对您描述的“GeoFencing”方案的支持。

目前可用的最佳解决方案是定期(使用后台任务)检查连接是否可用并开始同步。