-1

我遇到了问题:当我发送 UILocalNotification 为:</p>

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的内容,但是当我收到两次消息时,我可以将面板上的两个“这是1条消息”“这是1条消息”合并为一个“有两条消息”。如果我可以完成任务,如果可以,我可以使用什么 api?在android状态信息和面板信息是不同的,但我认为iOS只有一个警报体,状态和面板是一样的,对吗?

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

编辑2:我描述了我的需要。当用户从 15 个人收到不同的 1 条消息时,它会一一出现,所以我不能给它 [NSString stringWithFormat:@"there are %d messages",count],我只给它"有 1 条消息",但是当用户打开面板,我只显示“有15条消息”,可以cannel 14“有1条消息”。答案 1,给我答案是:在状态“有 15 条消息”,但没有人给我这么多消息,人们只给我 1 条消息

4

1 回答 1

0

您可以创建一个函数来安排通知。为警报消息创建一个数组,每次使用计数器 +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];

    }

}
于 2012-12-06T07:36:26.027 回答