即使取消通知也会触发。我试过检查取消方法,结果证明是正确的。
当我取消通知时,第二天会再次触发通知
- (void)cancelNotification:(int)bookID
{
NSArray *notifications = [[UIApplication sharedApplication] scheduledLocalNotifications];
NSLog(@"Cancelling... Before %d",[[[UIApplication sharedApplication]scheduledLocalNotifications]count]);
for (UILocalNotification *notification in notifications)
{
int notifRemedyId = [[notification.userInfo objectForKey:@"kRemindMeNotificationRemedyIDKey"]intValue];
NSLog(@"remedyID : %d",remedyId);
NSLog(@"notifyId : %d",notifRemedyId);
if (remedyId == notifRemedyId)
{
[[UIApplication sharedApplication] cancelLocalNotification:notification];
}
}
}
我在考虑它因为repeatInterval.should repeatInterval属性被删除。
所以我想知道我哪里出错了。
答案 0 :(得分:0)
1)首先检查检索到的特定通知对象不是 nil 。同时检查这是否是您要取消的通知。
2)当您确定通知对象不是 nil 并且通知是所需的时,请点击下面的命令。 通知是您想要的通知对象。
[[UIApplication sharedApplication] cancelLocalNotification:notification];
3)我正在查看您的代码,我发现您没有在代码中的任何位置使用bookID
通知。不确定您是否再使用该代码。
4)不,你不需要做任何额外的事情来取消重复通知
注意:请使用最新更新的代码更新您的问题。这看起来令人困惑。