Przygotowałem aplikację Budzik, która używa UILocalnotification
do planowania alarmu. Teraz po ustawieniu alarmu chcę ustawić przełącznik tak, aby można go włączyć i wyłączyć za pomocą UISwitch
Po prostu nie mogę sobie wyobrazić, jak to zrobić? Teraz myślę, że kiedy wyłączysz alarm, zapamiętuję DATĘ i TIME przed anulowaniem UILocalnotification
, tak aby po ponownym włączeniu alarmu I przełożyć go na nowo z zapisanymi wartościami DATE i TIME. Czy jest to właściwy sposób postępowania, czy jest jakiś inny sposób na zrobienie tego?Włączanie i wyłączanie alarmu ios
5
A
Odpowiedz
7
wystarczy utworzyć tabelę bazy danych, która ma pola "date", "isCanceled" i unikalne id "alarmId" (użyj odpoczynku, co chcesz). tak, gdy użytkownik chce anulować alarm spróbować,
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];
używać tego lepiej utworzyć alarm przez,
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];