2013-03-13 47 views
2

我似乎无法找到明确的线索来回答这些问题:当应用程序未运行时是否启动UILocalNotifications?

“应用程序未运行时(即不在前台或后台)启动计划的UILocalNotification”吗?

“当应用程序未运行时(即不在前台或后台)并且手机处于锁定/睡眠模式时是否触发UILocalNotifications?”

有些答案表明,由于UILocalNotifications是由iOS操作系统处理的,有些人似乎暗示他们只会在应用程序在后台或前台运行时触发。如果手机被锁定,我无法找到UILocalNotifications是否有效。

谢谢,詹姆斯

回答

6

只需
From apple docs

当系统提供了一个本地通知,有几个事情都可能发生,这取决于应用程序状态和通知的类型。如果应用程序不是最前面和可见的,则系统将显示警报消息,标记应用程序并播放声音 - 无论通知中是否指定。如果通知是警报,并且用户点击操作按钮(或者,如果设备被锁定,拖动打开操作滑块),则启动应用程序.`

UILocalNotification由OS处理。一旦你安排它,OS会为你管理它。系统是否正在运行系统会发出通知。你只需要在申请对此作出回应:didReceiveLocalNotification:应用中:didFinishLaunchingWithOptions:(处理如果应用程序由于通知发布)

记得

如果应用程序是最重要的,并系统发出通知时可见,不显示警报,不显示图标,也不播放声音。但是,应用程序:didReceiveLocalNotification:如果应用程序委托实现它,则会被调用。

+0

非常好。谢谢! – JamesLCQ 2013-03-13 10:21:51

0

是的。本地通知将触发您的应用是否在后台或前台运行。

如果您的应用程序在前台运行,然后

- (void)application:(UIApplication*)application didReceiveLocalNotification:(UILocalNotification*)notification 

将调用。

如果你的手机是锁定的,那么UILocalNotification也可以工作,但它不会显示警报主体(即Alert without Button)。

相关问题