我正在开发一个应用程序,它每五分钟通过 UILocalNotifications 向用户发送提示。问题是,如果你有一段时间不使用手机,通知就会堆积起来,当你解锁手机时,你必须一个接一个地关闭它们,如果你没有使用手机,这会变得很烦人相当长一段时间。单击警报上的操作按钮会将您返回到应用程序,但即便如此,您仍然必须查看所有通知。
是否有任何方法可以通过单击来消除所有已触发的通知?
谢谢你的帮助。
迈克迈克
我正在开发一个应用程序,它每五分钟通过 UILocalNotifications 向用户发送提示。问题是,如果你有一段时间不使用手机,通知就会堆积起来,当你解锁手机时,你必须一个接一个地关闭它们,如果你没有使用手机,这会变得很烦人相当长一段时间。单击警报上的操作按钮会将您返回到应用程序,但即便如此,您仍然必须查看所有通知。
是否有任何方法可以通过单击来消除所有已触发的通知?
谢谢你的帮助。
迈克迈克
好吧,实际上,我意识到我犯了一个错误。
为了一次性取消所有 UIlocalNotifications,我只需要创建这个简单的方法:一行代码就足够了:
- (void)application:(UIApplication *)app didReceiveLocalNotification :(UILocalNotification *)notification {
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}
你就在那里。不管怎么说,还是要谢谢你。
在安排下一个警报之前,您最好取消所有以前的通知,然后设置新的,
UIApplication* app = [UIApplication sharedApplication];
NSArray* oldNotifications = [app scheduledLocalNotifications];
// Clear out the old notification before scheduling a new one.
if ([oldNotifications count] > 0)
[app cancelAllLocalNotifications];