2013-06-25 4 views
0

В моем методе фона я назначил два уведомления следующим образом.Ручка нескольких локальных уведомлений в SDK IOS

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
    localNotification = [[UILocalNotification alloc] init]; //Create the localNotification object which is declared in appDelegate.h 
    [localNotification setFireDate:[NSDate dateWithTimeIntervalSinceNow:[datePicker countDownDuration]]]; //Set the date when the alert will be launched using the date adding the time the user selected on the timer 
    [localNotification setAlertAction:@"Launch"]; //The button's text that launches the application and is shown in the alert 
    [localNotification setAlertBody:[alertBodyField text]]; //Set the message in the notification from the textField's text 
    [localNotification setHasAction: YES]; //Set that pushing the button will launch the application 
    [localNotification setApplicationIconBadgeNumber:[[UIApplication sharedApplication] applicationIconBadgeNumber]+1]; //Set the Application Icon Badge Number of the application's icon to the current Application Icon Badge Number plus 1 
    [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; //Schedule the notification with the system 

// * * Уведомление 2 * * *

localNotification2 = [[UILocalNotification alloc] init]; //Create the localNotification object which is declared in appDelegate.h 
     [localNotification2 setFireDate:[NSDate dateWithTimeIntervalSinceNow:[datePicker countDownDuration]]]; //Set the date when the alert will be launched using the date adding the time the user selected on the timer 
     [localNotification2 setAlertAction:@"Launch"]; //The button's text that launches the application and is shown in the alert 
     [localNotification2 setAlertBody:[alertBodyField text]]; //Set the message in the notification from the textField's text 
     [localNotification2 setHasAction: YES]; //Set that pushing the button will launch the application 
     [localNotification2 setApplicationIconBadgeNumber:[[UIApplication sharedApplication] applicationIconBadgeNumber]+1]; //Set the Application Icon Badge Number of the application's icon to the current Application Icon Badge Number plus 1 
     [[UIApplication sharedApplication] scheduleLocalNotification:localNotification2]; //Schedule the notification with the system 

} 

Он отлично работает для приходить уведомления.

Вопрос

Как я могу определить, какие уведомления приходят в didreceivenotification method ?? Потому что я хочу выполнить другую задачу, основанную на уведомлении.

ответ

1

Вы можете установить userInfo Dictionary

localNotification1 = [[UILocalNotification alloc] init]; 
localNotification1.userInfo = @{ "type" : @1 }; 
... 
localNotification2 = [[UILocalNotification alloc] init]; 
localNotification2.userInfo = @{ "type" : @2 }; 
... 
... 
0

вы можете установить NSDictionary в userInfo свойство UILocalNotification

Таким образом, вы можете сделать это таким образом ...

localNotification1.userInfo = [NSDictionary dictionaryWithObject:@"1" forKey:@"NO"]; 
localNotification1.userInfo = [NSDictionary dictionaryWithObject:@"2" forKey:@"NO"]; 

и сравнить ключ «НЕТ» в didReceiveNotification.