【问题标题】: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 之后不应有任何通知。

有什么办法吗?

【问题讨论】:

    标签: ios iphone notifications localnotification


    【解决方案1】:

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

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

    【讨论】:

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

    UILocalNotification 具有 repeatInterval 属性。

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

    试试上面的代码。

    【讨论】:

    • 它会在每 25 分钟后创建通知吗?。
    • 那不行,你不能指定分钟数。
    • 找到了一种解决方案。每当我收到通知时,我都应该取消所有通知并重新安排它。这完全可以认为代码变得有点混乱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 2020-03-06
    • 2018-04-18
    相关资源
    最近更新 更多