我似乎无法找到回答这些问题的明确主题:
“如果应用未运行(即不在前台或后台),是否会安排预定的UILocalNotification”?
“当应用程序未运行时(即不在前台或后台)并且手机处于锁定/睡眠模式时,是否会触发UILocalNotifications?”
有些答案表明他们会像UILocalNotifications一样由iOS操作系统处理。有些人似乎暗示只有在应用程序在后台或前台运行时才会触发。如果电话被锁定,我无法找到有关UILocalNotifications是否有效的信息。
谢谢,詹姆斯
答案 0 :(得分:6)
只需是
From apple docs
当系统发送本地通知时,可能会发生一些事情,具体取决于应用程序状态和通知类型。如果应用程序不是最前面且可见,则系统会显示警报消息,对应用程序进行标记,并播放声音 - 通知中指定的任何内容。如果通知是警报,并且用户点击操作按钮(或者,如果设备被锁定,则拖动操作滑块),应用程序将启动。
UILocalNotification由操作系统处理。一旦你安排它,操作系统将为你管理它。无论应用程序是否正在运行,系统都会发出通知。您只需要在应用程序:didReceiveLocalNotification:和应用程序:didFinishLaunchingWithOptions:(以处理由于通知启动应用程序)来处理它
记得
如果应用程序在系统发送通知时最重要且可见,则不会显示警报,没有图标标记,也不会播放声音。但是,如果应用程序委托实现它,则调用application:didReceiveLocalNotification :.
答案 1 :(得分:1)
是:
操作系统负责在适当的时间发送通知;该应用程序不必为此而运行。
答案 2 :(得分:0)
是。无论您的应用是在后台运行还是在前台运行,本地通知都会触发。
如果你的应用程序在前台运行,那么
- (void)application:(UIApplication*)application didReceiveLocalNotification:(UILocalNotification*)notification
将致电。
如果您的手机处于锁定状态,那么UILocalNotification也会正常工作,但它会显示没有警报正文。(即不带按钮的警报)。