0

在我的 windows phone 8 应用程序中,我想定期(少于 10 分钟)从服务器刷新/加载一些数据,而应用程序在后台运行(即处于休眠状态和墓碑状态)。我尝试了计划任务代理和资源密集型任务代理,但它们的调用间隔为 30 分钟。请让我知道是否有任何其他解决方案可以实现上述要求。

感谢和问候@nish

4

2 回答 2

1

如果您需要比 Windows Phone 中的默认设置更频繁地获取数据,您应该考虑使用推送通知。这不适合完整的数据推送,但如果你正确使用它,你可以获得可以接受的用户体验。

一种常见的方法是设置您的服务器,以便在有新内容要报告时向设备发送通知,而不是每 10 分钟左右推送一次“没有任何变化”消息。如果您推送一个磁贴更新通知,例如“您有 x 个未读项目”,那么用户可能会单击您的应用程序的磁贴,您可以在启动/恢复时轮询服务器以获取新项目。如果您想要一个更具侵入性的选项,您也可以发送 toast 通知,但在大多数情况下,磁贴更新就足够了。

这种方法有几个优点。

  1. 用户睡着时,您不会每 10 分钟轮询一次电池电量
  2. 您的服务器的负载将大大减少,因为它不必每 10 分钟为每个客户端处理一次完整的数据请求。
  3. 这符合电话应用程序的设计理念——您将所需数据呈现给用户,同时保持电池寿命。
于 2013-10-25T11:07:24.920 回答
0

我是否正确理解您的主要目标是通过让电话定期进行查询来保持某些主机会话处于活动状态?如果是这样...

我不推荐这种方法:1)当手机尝试发送查询时,您不能指望手机具有网络连接。如果用户将手机放在口袋或钱包中,可能性会更大。2) 从安全的角度来看,这可能很糟糕,从主机资源的角度来看是浪费的。

您可以改为向您的应用程序添加逻辑,以尽可能无缝地恢复超时的主机会话。通过对同一主机的原始 HTTP 访问,这将为移动应用程序的价值主张增加真正的实用价值。

于 2013-12-10T17:30:23.820 回答