Atualize data de fogo para notificação local e cancele notificação anterior
Eu sei que existem algumas perguntasAqui elá sobre como excluir uma notificação local, que pode ser toda ou uma notificação específica.referência de classe de notificação local e encontrei alguns métodos como intervalo de tempo de repetição, data de disparo, corpo de alerta, fuso horário, etc ... mas não consigo descobrir algum tipo de informação sobre como modificar a data de disparo que já foi definida.Selecione se o usuário definir uma notificação com data hoje e horário 16:50, mas se o usuário deseja modificar a data / hora definida, o que está acontecendo é que a notificação está disparando em ambas as ocasiões. O que é um erro no que se refere à ética de programação!
Na verdade, o que eu quero é que a notificação anterior seja cancelada, ou seja, a data deve ser modificada para ser editada e a notificação deve ser definida e disparada na nova data.
É assim que eu configurei a notificação, código de amostra:
- (void)setNotification
{
//Set notification after confirmation of saved data
Class cls = NSClassFromString(@"UILocalNotification");
reminderNotification = [[cls alloc] init];
if (cls != nil)
{
NSDateFormatter *dateFormat = [[[NSDateFormatter alloc]init]autorelease];
[dateFormat setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
NSDate *notificationDate = [dateFormat dateFromString:textField2.text];
reminderNotification.fireDate = notificationDate;
reminderNotification.timeZone = [NSTimeZone defaultTimeZone];
NSString *reminderText = [NSString stringWithFormat:@"%@ 's %@ on %@",textField.text,textField1.text,strDate];
reminderNotification.alertBody = reminderText;
reminderNotification.alertAction = @"View";
reminderNotification.soundName = @"lazy_afternoon.mp3";
reminderNotification.applicationIconBadgeNumber = 1;
NSDictionary *userDict = [NSDictionary dictionaryWithObject:self.textField1.text forKey:kReminder];
reminderNotification.userInfo = userDict;
[[UIApplication sharedApplication] scheduleLocalNotification:reminderNotification];
[reminderNotification release];
}
}
Alguém pode me guiar no caminho certo sobre como lidar com essa tarefa?
Obrigado a todos antecipadamente :)