0

我目前正在编写我的应用程序,该应用程序建立连接以解析来自网站的时间,然后触发 60 秒的计时器。60 秒后,它会重新加载连接,并从站点获取最新时间。

我正在努力做到这一点,当应用程序进入后台然后进入前台时,它知道立即开始新的连接。我正在使用 NSNotification 执行此操作。

但是通读文档,我不知道我应该使用哪一个

UIApplicationDidBecomeActiveNotification

或者

UIApplicationWillEnterForegroundNotification

这些之间是否有任何重大差异,以及应该调用一个而不是另一个的任何情况。

我能想到的唯一一件事是使用 NSURL 连接,我可能应该使用 WillEnterForeground,所以当视图返回时它会开始滚动。或者这是错误的思考方式,我应该等到我的视图完全加载后再尝试加载数据。

4

2 回答 2

1

它们是不同的。

UIApplicationWillEnterForegroundNotification 不会在从睡眠模式或调用时发布,而只会在进行多任务操作时发布。

UIApplicationDidBecomeActiveNotification 将在手机从睡眠模式或从其他应用程序返回到您的应用程序时发布(完成来电或单击低电量警告的确定按钮)。当您的应用从后台返回时,它也会被调用。

在您的情况下,我认为使用 UIApplicationDidBecomeActiveNotification 会更好。

于 2013-02-04T04:50:39.717 回答
0

UIApplicationDidBecomeActiveNotification 当应用程序激活时发布。应用程序在接收事件时处于活动状态。一个活跃的应用程序可以说是有焦点的。它在启动后获得焦点,在弹出覆盖窗口或设备锁定时失去焦点,并在设备解锁时获得焦点。

UIApplicationWillEnterForegroundNotification 在应用程序离开后台状态成为活动应用程序之前不久发布。通知的对象是 UIApplication 对象。没有 userInfo 字典。

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIApplication_Class/Reference/Reference.html

于 2013-02-04T05:17:53.517 回答