即使在取消通知后也会触发UILocalnotification

时间:2013-05-10 08:19:59

标签: iphone ios objective-c uilocalnotification

即使取消通知也会触发。我试过检查取消方法,结果证明是正确的。

当我取消通知时,第二天会再次触发通知

- (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属性被删除。

所以我想知道我哪里出错了。

1 个答案:

答案 0 :(得分:0)

1)首先检查检索到的特定通知对象不是 nil 。同时检查这是否是您要取消的通知。

2)当您确定通知对象不是 nil 并且通知是所需的时,请点击下面的命令。 通知是您想要的通知对象。

[[UIApplication sharedApplication] cancelLocalNotification:notification];

3)我正在查看您的代码,我发现您没有在代码中的任何位置使用bookID通知。不确定您是否再使用该代码。

4)不,你不需要做任何额外的事情来取消重复通知

注意:请使用最新更新的代码更新您的问题。这看起来令人困惑。