我有一些重复的可操作通知,当我点击某些通知按钮时 (I mean this),我必须删除所有相同的通知。例如,我已经推送了4个通知:
Not 1
Not 2
Not 1
Not 2
如果我使用“Not 1”的动作,我需要删除所有“Not 1”,所以,它会是这样的
Not 2
Not 2
我可以这样做吗?
[UIApplication sharedApplication].scheduledLocalNotifications]
只给我预定的通知,但我需要删除已显示的通知,这个数组中没有。
答案 0 :(得分:0)
您可以在本地通知的userinfo中为密钥保存唯一值。获取所有本地通知,遍历数组并删除特定通知。
代码如下,
UIApplication *app = [UIApplication sharedApplication];
NSArray *eventArray = [app scheduledLocalNotifications];
for (int i=0; i<[eventArray count]; i++)
{
UILocalNotification* oneEvent = [eventArray objectAtIndex:i];
NSDictionary *userInfoCurrent = oneEvent.userInfo;
NSString *uid=[NSString stringWithFormat:@"%@",[userInfoCurrent valueForKey:@"uid"]];
if ([uid isEqualToString:uidtodelete])
{
//Cancelling local notification
[app cancelLocalNotification:oneEvent];
break;
}
}