如何暂时禁用我的 iPhone 应用程序安排的所有本地通知?

Posted

技术标签:

【中文标题】如何暂时禁用我的 iPhone 应用程序安排的所有本地通知?【英文标题】:How can I temporarily disable all local notification scheduled by my iPhone app? 【发布时间】:2013-01-24 11:53:54 【问题描述】:

是否有任何方法可以暂时禁用 iPhone 应用程序创建的所有本地通知?我需要根据条件重新启用它们。我的要求是,如果用户关闭了我的应用程序上的通知按钮,则不再显示通知。如果他打开了它,则应显示所有通知。有什么想法吗?

【问题讨论】:

【参考方案1】:

例如,您可以获取所有预定通知并将其保存在共享首选项中。

[[UIApplication sharedApplication]     scheduledLocalNotifications];

然后取消所有通知:

- (void)cancelLocalNotification:(UILocalNotification *)notification

如果用户再次激活通知,您可以重新安排它们。

【讨论】:

或者在重新启用时简单地重新计算需要通知。 如何重新启用它们? 加载之前保存的日期并创建新通知。 [[UIApplication sharedApplication] scheduleLocalNotification:notification]; 无法获取之前的日期【参考方案2】:

您可以使用“cancelAllLocalNotifications”方法,当用户打开它时,您可以再次为其设置所有通知。

【讨论】:

以上是关于如何暂时禁用我的 iPhone 应用程序安排的所有本地通知?的主要内容,如果未能解决你的问题,请参考以下文章

在动画 UI 元素时暂时禁用/删除约束

暂时禁用所有外键约束

如何在 iPhone 应用程序中启用/禁用 iTunes 文件共享

如何在 iPhone 的 html 中禁用水平滚动

如何在 iPhone 模拟器中禁用 coreLocation?

当模态对话框存在时,如何(暂时)在我的视图中禁用导航?