12

UILocalNotification在我的项目中使用。我在使用UILocalNotifications. 如果我将通知安排为一周,删除应用程序并重新安装,但重新安装的应用程序没有安排通知,我会收到之前安排的时间的通知。

即使当前安装没有安排通知,我也会收到通知。有没有办法取消安排/删除这些通知?

4

1 回答 1

13

实际上,当您安排未来的通知时,然后删除应用程序然后重新安装它,在这种情况下,您将收到之前设置的通知。你得到的。

解决方案:

当您打开应用程序时,然后在 AppDelegate 的“didFinishLaunchingWithOptions”方法中,调用以下方法。

-(void)removeAllLocalNotification
{
    [[UIApplication sharedApplication] cancelAllLocalNotifications];
}

这样,您将删除所有先前设置的通知。

但是,在做上述事情之前:你需要注意的是,你只需要调用上述方法一次。不是每次应用启动时。

您可以通过以下方式执行此操作:

创建一个 BOOL 变量并将其存储在 NSUserDefault 中。现在,当应用程序打开时,从 NSUserDefault 检查它的值。如果为 FALSE,则调用上述方法并将其值设置为 TRUE 并设置为 NSUserDefault。

现在,当您重新打开应用程序时,您会得到它的值为 TRUE,因此此时您不需要调用上述方法。这样,您当前设置的通知不会被删除。

希望,你得到了所有的东西。

快乐编码。

干杯!

于 2013-01-10T12:23:43.277 回答