2011-08-19 28 views
0

您好我想每5分钟从后台调用Web服务,并根据我想要显示通知给用户的响应。有没有办法在iOS 4上做到这一点? 我认为这可以通过使用CLLocation管理器。 请建议我如何做到这一点。通过定时器iPhone背景网络连接

谢谢!

回答

1

不,是的,当你的应用程序被推到后台时,所有NSTimers都无效,你的应用程序进入暂停模式。

只有三种类型的应用程序可以在后台运行(音频,voip和基于位置的)。 使用CLLocationManager时,您的应用只会收到重大更改。因此无法每隔5分钟做一次。

1

将背景模式用于除设计目的以外的其他任何内容是确保将应用拒绝的火法。

既然你想定期访问一个Web服务,为什么不从服务器上去做。

  1. 当你应用程式初次启动注册该设备的远程通知
  2. 当你的应用得到通知,这是即将去到后台,从步骤返回与设备令牌平你的网络服务器1
  3. 有你Web服务器调用每五分钟外部Web服务
  4. 当您收到一个适当的回应,当用户确认通知,并打开您的应用程序使用的设备令牌
  5. 发送远程通知到设备,安装了该应用的下载什么曾通知它需要从您的服务器或外部Web服务

如果您提供更多关于应用程序上下文的信息,可以进一步细化此解决方案。

+0

就像你的解决方案一样,只是在应用程序启动后才会进行推送通知的注册,只是让速度提高一点。 – rckoenes

+0

的确,好的建议。已编辑帖子以反映。 –