2013-05-10 3 views
0

Уведомление увольняется даже после его отмены. Я попытался проверить метод отмены, оказалось, что это правильно.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

не следует использовать [[UIApplication sharedApplication] cancelAllLocalNotifications]; ? –

+0

Запишите свои значения и посмотрите, что вы получаете. –

+0

@HotLicks Я выяснил проблему, я не архивировал уведомление, которое было отменено в viewdidload. Поэтому, если уведомление было отменено, приложение не обновлялось, уведомление было отменено. – raptor

ответ

0

1) Первая проверка, полученная конкретным объектом уведомления, не является nil. Также проверьте, является ли это уведомление, которое вы хотите отменить.

2) Когда вы уверены, что объект уведомления не ноль и уведомление является искомым, затем огонь ниже команды. уведомление - ваш желаемый объект уведомления.

[[UIApplication sharedApplication] cancelLocalNotification:notification]; 

3) Я смотрю на ваш код, и я мог видеть, что вы не используете bookID уведомления в любом месте вашего кода. Не уверен, что вы больше используете этот код.

4) Нет, вам не нужно делать ничего лишнего, чтобы отменить повторение уведомления о

Примечания: Пожалуйста, обновите свой вопрос с окончательным обновленным кодом. Это выглядит запутанным.

+0

Я добавил расписание Способ уведомления – raptor

+0

Какой метод отменяет уведомление? –

+0

проверьте свой метод 'cancelNotification'. Где вы используете 'bookID'? Я не вижу, чтобы его использовали. –

Смежные вопросы