如果用户被提醒 x 多次,如何取消所有 UILocalNotification?

Posted

技术标签:

【中文标题】如果用户被提醒 x 多次,如何取消所有 UILocalNotification?【英文标题】:How to cancel all UILocalNotification, if the user got reminded x many times? 【发布时间】:2013-11-21 14:24:35 【问题描述】:

我遇到了UILocalNotification 的情况。我知道有一个答案如何cancel a uilocalnotification

我的情况是:

我想提醒用户每天使用该应用程序。 如果用户三天不使用应用程序,那么我想将间隔从每天增加到每三天。 如果用户在 6 天后仍未回来,我想停止所有通知。

阅读文档,它说有一个在应用程序运行时调用的方法:application:didReceiveLocalNotification:。但这只有在应用程序在事件发生时正在运行时才会受到影响。如果用户不回来怎么办?

在一定数量的非活动天数过去后,我的应用程序是否可以取消所有事件?我不想一直纠缠用户,毕竟没有兴趣。

【问题讨论】:

【参考方案1】:

唯一的方法是在您进入后台时设置所有本地通知。 因此,您在不同的日期多次发出相同的通知 - 每个都是单个通知(不重复)。

1 天后 2 天后 3 天后 6 天后

每次用户打开您时,您都会使用“cancelAllLocalNotifications”清除所有这些 - 每次他进入后台时您都会创建它们。

【讨论】:

这真是太聪明了。谢谢你的提示。 +1

以上是关于如果用户被提醒 x 多次,如何取消所有 UILocalNotification?的主要内容,如果未能解决你的问题,请参考以下文章

取消查询或强制 onGeoQueryReady?

一键汇总报告模型可能会需要修改的地方

一键汇总报告模型可能会需要修改的地方

如何取消iPhone电量低的提醒?

Linux如何取消Ubuntu开机后的系统报错提醒

如果再次调用 Javascript 函数,如何杀死它?