在推送通知期间启动应用程序待机状态

时间:2012-02-14 06:13:48

标签: iphone ios

我在我的应用中使用过推送通知。我对此有两个问题:

  1. 当手机处于待机模式并且收到推送通知时,我的应用程序不会自动启动。关键是当应用程序处于待机状态并通过交换快速解锁时启动应用程序但是当我稍后交换时说2-3分钟后,应用程序不会自动启动。如何让每次都能发布?

  2. 我想在推送通知期间增加振动时间。目前它几乎不振动1秒。

1 个答案:

答案 0 :(得分:0)

1)睡眠/待机的概念并不太棘手;当用户“退出”您的应用程序时(按下主页按钮),您的应用程序将被暂停并进入冻结状态(4.x),或完全退出(3.x)。尽管如此,在使用- (void)applicationWillTerminate:(UIApplication *)application方法进行后者之前,您有机会进行一些清理操作,之前使用- (void)applicationDidEnterBackground:(UIApplication *)application方法进行清理操作(两者都在您的委托类中调用)。 “睡眠”的概念意味着在iPhone OS 3和iOS 4中,当您的应用程序失去焦点时(以及当SMS进入或发出警报等)时,您将收到以下方法:

- (void)applicationWillResignActive:(UIApplication *)application

实际上,大多数应用程序(除了设计为在后台工作的应用程序,如voip,音频流等)都会在关闭时退出。但是如果你需要,你也可以暂停冻结你的应用程序并要求更多时间来完成任务。

2)您无法使用官方API更改振动持续时间。

您可以循环或使用AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);多次呼叫NSTimer,但不建议这样做。它会耗尽电池,设备可能从桌子上掉下来。顺便说一句,如果他们认为你没有正确使用振动,Apple可以拒绝你的应用程序。