在面板上更改UILocalNotification计数

时间:2012-12-06 05:26:53

标签: iphone ios uilocalnotification

我遇到了问题:当我发送UILocalNotification时:

UILocalNotification *alarm = [[UILocalNotification alloc] init];
if (alarm) {
    alarm.fireDate = [NSDate date];
    alarm.timeZone = [NSTimeZone defaultTimeZone];
    alarm.repeatInterval = 0;
    alarm.soundName = UILocalNotificationDefaultSoundName;
    alarm.alertBody ="This is 1 message";

    if (object) {
        NSDictionary *infoDic = [NSDictionary dictionaryWithObject:object forKey:objectkey];
        alarm.userInfo = infoDic;

    }


    [[UIApplication sharedApplication] presentLocalNotificationNow:alarm];

你可以看到代码:当我发送通知两次时,你可以收到两次消息: “这是1条消息” “这是1条消息”
在移动面板上。我想不要更改alarm.alertBody内容,但是当我收到两次消息时,我可以合并两个meaasge “这是1条消息” “这是1条消息”,因为面板上有一条“有两条消息”。如果我能完成任务,如果是,我可以使用什么API?      在Android状态信息和面板信息是不同的,但我认为iOS只有一个警报体,在状态和面板是相同的我是对的吗?

编辑:我不知道为什么要给我-2,我的排名很简单?或其他?答案不是我的需要。

编辑2:我描述了我的需要。当用户从15个人那里收到不同的1个消息时,它会逐个出现,所以我不能给它[NSString stringWithFormat:@“有%d个消息”,计数],我只给它“有1个消息”,但是当用户打开面板,我只显示“有15条消息”,可以通道14“有1条消息”。回答1,给我回答的是:在状态“有15条消息”,但没有人给我这么多消息,人们只给我1条留言

1 个答案:

答案 0 :(得分:0)

您可以创建一个计划通知的功能。 为警报创建数组msgs使用计数器+1每次添加新警报。 然后,您可以在特定日期安排本地通知,因为您希望这样的事情会有所帮助:

- (void)scheduleNotification:(NSDate*)showDate withMsg:(NSString*)msg
{
Class cls = NSClassFromString(@"UILocalNotification");
    if (cls != nil) {

        UILocalNotification *notif = [[cls alloc] init];
        //      notif.fireDate = [datePicker date];

        //setting the fire dat of the local notification
        notif.fireDate = showDate;//[NSDate dateWithTimeIntervalSinceNow:5];


        //setting the time zone
        notif.timeZone = [NSTimeZone defaultTimeZone];

        //setting the message to display
        //notif.alertBody = @"You are notified";
        notif.alertBody = msg;

        //default notification sound
        notif.soundName = UILocalNotificationDefaultSoundName;

        //displaying the badge number
        notif.applicationIconBadgeNumber = [[UIApplication sharedApplication]applicationIconBadgeNumber]+1;

        //schedule a notification at its specified time with the help of the app delegate
        //        NSLog(@"Todays date:%@ Notification Date:%@",[NSDate date],showDate);

        // Displaying Button tittle
        notif.alertAction = @"Show me";

        //      //setting the values in dict of local notification  
        //      NSDictionary *userDict = [NSDictionary dictionaryWithObject:_serverMsg
        //                                                             forKey:kRemindMeNotificationDataKey];
        //      notif.userInfo = userDict;

        [[UIApplication sharedApplication] scheduleLocalNotification:notif];

    }

}