如何安排本地通知不同的时间段?
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 分钟后创建通知吗?。 那不行,你不能指定分钟数。 找到了一种解决方案。每当我收到通知时,我都应该取消所有通知并重新安排它。这完全可以认为代码变得有点混乱。以上是关于如何安排本地通知不同的时间段?的主要内容,如果未能解决你的问题,请参考以下文章