1

我想在我之前的本地通知被触发时安排本地通知。它应该被安排,不管用户点击“查看”或“取消”。我没有得到适当的地方(委托方法)来安排新的通知。根据苹果文档,应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:可以使用但当应用程序从后台和应用程序进入前台时,它似乎没有被调用:(UIApplication *)应用程序 didReceiveLocalNotification:仅在单击“查看”而不是关闭时才被调用。我该怎么做?任何帮助都非常重要赞赏。

4

1 回答 1

0

是的。您对本地通知是正确的。您应该单击"view"didReceiveLocalNotification:触发。如果单击"Cancel",则表示您不关心通知。如果你不在乎,iOS 又何必在乎呢?:-)

您正在安排通知。所以,你知道它什么时候会被解雇。不是吗?那么为什么要等待第一个通知被触发呢?只需将第二个通知与第一个通知一起安排。

一种解决方法:

本地和推送通知编程指南 说每个应用程序只允许 64 个本地通知。因此,最初安排前 64 个通知。当应用程序下次打开时,检查[UIApplication sharedApplication] scheduledLocalNotifications]并安排下一个 (64 - scheduledLocalNotifications) 通知。

int scheduledNotifications = [UIApplication sharedApplication] scheduledLocalNotifications];  
int n = 64 - scheduledNotifications;  
[self Schedule-next-n-notifications];

注意:我们不能保证这会完美运行。万一,如果应用程序在很长的间隔后打开,例如在 1 或 2 个月后,某些通知将没有安排在适当的时间。

于 2011-06-20T06:41:03.253 回答