我在项目中使用UILocalNotification
。我在使用UILocalNotifications
时遇到了一个问题。如果我安排一周的通知,然后删除应用程序并重新安装,没有从重新安装的应用程序安排通知,我仍然会收到预先安排的通知。
即使从当前安装中没有安排通知,我仍然会收到通知。有没有办法取消/删除这些通知?
我在项目中使用UILocalNotification
。我在使用UILocalNotifications
时遇到了一个问题。如果我安排一周的通知,然后删除应用程序并重新安装,没有从重新安装的应用程序安排通知,我仍然会收到预先安排的通知。
即使从当前安装中没有安排通知,我仍然会收到通知。有没有办法取消/删除这些通知?
实际上,当您安排未来的通知,然后删除应用程序,再次重新安装它时,在这种情况下,您将收到先前设置的通知。您正在接收的通知就是这些。
解决方案:
打开应用程序时,在AppDelegate的“didFinishLaunchingWithOptions”方法中调用以下方法。
-(void)removeAllLocalNotification
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}
因此,您将删除所有先前设置的通知。
但是,在执行上述操作之前:您需要注意,只有在应用程序启动时才需要调用上述方法一次,而不是每次启动应用程序时都要调用它。
您可以按以下方式完成:
创建一个BOOL变量并将其存储在NSUserDefault中。现在,当应用程序打开时,请从NSUserDefault检查它的值。如果为FALSE,则调用上述方法并将其值设置为TRUE并设置到NSUserDefault中。
现在,当您重新打开应用程序时,您将得到它的值为TRUE,因此此时不需要调用上述方法。这样,您当前设置的通知将不会被删除。
希望您明白了整个过程。
愉快的编码。
干杯!