Ich habe eine Wecker-App vorbereitet, die UILocalnotification
für die Planung des Alarms verwendet. Jetzt, nachdem der Alarm eingestellt wurde, möchte ich einen Schalter schalten, sodass ich ihn mit UISwitch
ein- und ausschalten kann Ich kann mir nur vorstellen, wie kann ich das tun? Was ich im Moment denke ist, dass wenn ich den Alarm ausschalte, ich den DATUM und ZEIT Wert speichern soll, bevor ich den UILocalnotification
annulliere, damit der Benutzer den Alarm wieder einschalte verschiebe es mit den gespeicherten DATE- und TIME-Werten neu. Ist es der richtige Weg, oder gibt es andere Möglichkeiten, das zu tun?Ein- und Ausschalten des Alarms ios
5
A
Antwort
7
machen Sie einfach die Datenbanktabelle, die 'date', 'isCanceled' Feld und eindeutige ID 'alarmId' Spalten (verwenden Sie Rest, was Sie wollen). so dass, wenn der Benutzer wünscht, der Alarm versuchen, diese zu löschen,
NSString *alarmId = @"some_id_to_cancel";
UILocalNotification *notificationToCancel=nil;
for(UILocalNotification *aNotif in [[UIApplication sharedApplication] scheduledLocalNotifications]) {
if([aNotif.userInfo objectForKey:@"ID"] isEqualToString:alarmId]) {
notificationToCancel = aNotif;
break;
}
}
[[UIApplication sharedApplication] cancelLocalNotification:notificationToCancel];
dies besser nutzen Sie Ihren Alarm erstellen, indem Sie,
UILocalNotification *localNotif = [[UILocalNotification alloc] init];
if (localNotif == nil)
return;
localNotif.fireDate = itemDate;
localNotif.timeZone = [NSTimeZone defaultTimeZone];
localNotif.alertAction = NSLocalizedString(@"View Details", nil);
localNotif.alertBody = title;
localNotif.soundName = UILocalNotificationDefaultSoundName;
NSDictionary *infoDict = [NSDictionary dictionaryWithObject:stringID forKey:@"ID"];
localNotif.userInfo = infoDict;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
[localNotif release];