如何安排本地通知不同的时间段?

Posted

技术标签:

【中文标题】如何安排本地通知不同的时间段?【英文标题】:How to schedule local notification varying time slot? 【发布时间】:2015-07-09 11:01:12 【问题描述】:

我需要触发由最终用户决定的本地通知。

我为用户提供了 8/9 选项,用于选择以下持续时间中的至少一项。 20分钟,25分钟到60分钟。

再次用户提供开始时间。

考虑时间段是早上 6.28 到晚上 11.37

本地通知执行的预期任务是

在上午 6.28 到晚上 11.37 期间每 20 分钟显示一次本地通知。

第一个通知将在早上 6.48 收到。直到它的 11.37 。 11.37 之后不应有任何通知。

有什么办法吗?

【问题讨论】:

【参考方案1】:

UILocalNotification 有一个 repeatInterval 属性,您通常使用它来创建定期通知。不幸的是,它不能提供您需要的灵活性——您可以使用 1 分钟、1 小时的重复间隔,但两者之间没有任何间隔。而且也没有“结束日期”选项。

唯一的其他选择是创建多个通知,每个通知只触发一次。请记住,每个应用最多有 64 个通知。最短间隔为 20 分钟,这包括 21 小时 20 分钟的通知。

【讨论】:

谢谢。我正在考虑创建另一个通知,将当前时间增加 20 分钟。我有一个问题,闹钟打盹是如何工作的。也许这个想法会帮助我实现我的需求 找到了解决方案。一旦我收到任何本地通知,我将取消所有通知并重新安排它们。【参考方案2】:

UILocalNotification 具有 repeatInterval 属性。

UILocalNotification *localNotif = [[UILocalNotification alloc] init];
localNotif.repeatInterval = NSMinuteCalendarUnit;

试试上面的代码。

【讨论】:

它会在每 25 分钟后创建通知吗?。 那不行,你不能指定分钟数。 找到了一种解决方案。每当我收到通知时,我都应该取消所有通知并重新安排它。这完全可以认为代码变得有点混乱。

以上是关于如何安排本地通知不同的时间段?的主要内容,如果未能解决你的问题,请参考以下文章

如何安排本地通知

如何在一段时间后取消安排以前安排的本地通知?

如何为以下场景安排本地通知?

安排本地通知的数量

如何在本地安排 React 中的重复网络通知?

如何从 iOS14 小部件安排本地通知?