2015-08-28 70 views
8

我正在iOS中制作一个应用程序,它将在计时器上发送本地通知。它在应用程序处于后台状态时工作正常,但在完全终止和关闭时不起作用。应用程序终止后发送本地通知

有没有反正在发生这种情况时仍然发送本地通知?

在此先感谢。

回答

7

确定有可能,如果您安排本地通知,即使终止应用程序,它也会触发。

 UILocalNotification *_localNotification = [[UILocalNotification alloc] init]; 
     _localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:_value]; 
     _localNotification.timeZone = [NSTimeZone defaultTimeZone]; 
     _localNotification.alertBody = @"Beep... Beep... Beep..."; 
     _localNotification.soundName = UILocalNotificationDefaultSoundName; 
     [[UIApplication sharedApplication]scheduleLocalNotification:_localNotification]; 

...对我来说就像是一种魅力。

+2

谢谢,这实际上就是我所做的,我使用了一个在定时器上重新运行的启动日期,所以每20分钟就会触发一次本地通知。问题是,如果该应用因任何原因被终止,那么失败日期将不起作用? –

+0

应用程序未运行时,重复函数可能不起作用。您是否尝试过安排多个通知,而不是重复一个通知? – Johannes

+0

不,但实际上这不是一个坏主意......我可以从一个本地通知对象安排多个启动日期吗? –

3

本地通知可以在应用程序终止或关闭时传递,但必须在应用程序运行时安排。您可以在将来为通知设置fireDate,安排它,并且无论应用程序是否在运行,它都会被发送。

+0

你是什么意思,他们必须安排在应用程序运行时?你的意思是,当我收到无声通知时,我无法设置本地通知? – Honey

+0

不是没有打开应用程序。 – picciano