Уникальные записи в Центре уведомлений и 'repeatInterval' - PullRequest
1 голос
/ 07 марта 2012

Я выдаю локальное оповещение (iOS 5), которое будет периодически повторять свое напоминание (каждую минуту), пока пользователь не подтвердит его, установив repeatInterval в экземпляре UILocalNotification, добавленном в [[UIApplication sharedApplication] scheduleLocalNotification:

Эффект от установки 'repeatInterval' состоит в том, что каждый раз, когда уведомление повторяется, не подтверждая его, в Центре уведомлений появляется другая запись. Например: после 5 минут отсутствия подтверждения стрельбы в Центре уведомлений есть 5 отдельных записей.

Есть ли способ иметь только одну запись, но звуковое / вибрационное оповещение каждые 1 минуту?

Вот как я создаю локальное уведомление:

UILocalNotification *localNotify = [[UILocalNotification alloc] init];

localNotify.fireDate = aFireDate;
localNotify.timeZone = [NSTimeZone defaultTimeZone];
localNotify.userInfo = userInfo;

// 3. Configure the substance of the notification: alert, icon badge number, and sound.
localNotify.alertBody = NSLocalizedString(alertTitleText, nil);                            
localNotify.alertAction = NSLocalizedString(alertActionText, nil);

localNotify.soundName = UILocalNotificationDefaultSoundName;
localNotify.applicationIconBadgeNumber = 1;

localNotify.repeatInterval = NSMinuteCalendarUnit;

// Schedule the local notification for delivery.    
[[UIApplication sharedApplication] scheduleLocalNotification:localNotify];

1 Ответ

1 голос
/ 07 марта 2012

К сожалению нет. Пока у пользователя включен Центр уведомлений для вашего приложения, каждое локальное уведомление, которое вы запускаете, будет отображаться как отдельная запись в Центре уведомлений; даже если это несколько срабатываний одного и того же объекта UILocalNotification. UILocalNotification API не дает вам никакого контроля над этим.

...