目前,我正在开发一款可在线上和线下模式下运行的Windows Phone应用程序。因此,如果网络可用,则意味着我需要将我的离线数据同步到相应的服务器。我的要求是,如果我的应用程序正常工作,当我到达启用wifi的圈子(区域)时,我需要收到通知。否则需要参加比赛。
我怎样才能做到这一点? WP7中是否存在任何通知通道以通知此情况?如果是,请展示一些代码来实现目标。
答案 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”方案的支持。
目前可用的最佳解决方案是定期(使用后台任务)检查连接是否可用并开始同步。