Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 查看后如何删除通知中心中的推送通知_Ios_Ios5_Push Notification - Fatal编程技术网

Ios 查看后如何删除通知中心中的推送通知

Ios 查看后如何删除通知中心中的推送通知,ios,ios5,push-notification,Ios,Ios5,Push Notification,有没有办法在点击后处理来自通知中心的推送通知,并在我的应用程序已启动时将其删除?我知道这是一种黑客攻击,但您可以通过更改应用程序上的徽章号来清除所有通知。 - (void)application:(UIApplication*)application didReceiveRemoteNotification (NSDictionary*)payload { NSLog(@"Received notification: %@", payload); //swapping betwe

有没有办法在点击后处理来自通知中心的推送通知,并在我的应用程序已启动时将其删除?

我知道这是一种黑客攻击,但您可以通过更改应用程序上的徽章号来清除所有通知。

- (void)application:(UIApplication*)application didReceiveRemoteNotification (NSDictionary*)payload
{
    NSLog(@"Received notification: %@", payload);
    //swapping between two badge numbers to clear notifications
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
    ...
}
如果您已经有了一个您不想丢失的徽章号码(上面的示例将在最后清除徽章号码),您可以执行以下操作

- (void)application:(UIApplication*)application didReceiveRemoteNotification (NSDictionary*)payload
{
    NSLog(@"Received notification: %@", payload);
    /*
     storing current badge number then swapping between 2 values to make sure we 
     clear the badge number. Once this is done set badge number back to original 
     value.
    */
    int badgeNum = [[UIApplication sharedApplication] applicationIconBadgeNumber]
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:badgeNum];
    ...
}

这可能不是最佳实践,但它完成了工作,客户不会知道其中的区别。我喜欢叫它临时工。直到我偶然发现一个更好的解决方案。希望这对别人有帮助

这里也一样-出于某种原因-我看到他们像未读的电子邮件一样呆在那里。。。我看到他们有一些到期时间或什么的-我想可能一天左右。。。如果我发现了什么,我会在这里更新。。。但是如果你发现了什么,请告诉我……你找到解决方案了吗?对不起@DennisMadsen,还没有找到。无论如何,很多应用程序都有这种行为,当viewedI不得不添加[[UIApplication sharedApplication]cancelAllLocalNotifications]时,它们不会立即被删除;我确实说过这是一个临时补丁=)看起来有一个更好的答案,祝你好运!也许你对这个问题有一个巧妙的答案?