2013-01-10 67 views
12

我在我的项目中使用UILocalNotification。我遇到了使用UILocalNotifications的问题。如果我安排了一周通知,请删除应用程序并重新安装,而没有从重新安装的应用程序安排通知,我会收到针对之前安排的时间的通知。删除并重新安装iphone应用程序后接收本地通知

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

回答

13

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

解决方案:

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

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

因此,您将删除先前设置的所有通知。

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

你可以做到这一点在以下方式:

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

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

希望你得到了全部的东西。

快乐编码。

干杯!

+0

谢谢,但如果我不重新安装后启动应用程序,我仍然收到通知。 – Nassif

+0

这是苹果的默认行为。你无法管理它。 –

相关问题