跳过一个通知,每天重复

Posted

技术标签:

【中文标题】跳过一个通知,每天重复【英文标题】:skip one notification, repeating each day 【发布时间】:2015-12-07 13:41:22 【问题描述】:

我正在制作一个应用程序,提醒用户每天做某事,我无法实现这种情况,即使应用程序处于后台模式,根据某些条件显示或不显示通知。 一种可能的变体是设置无休止的重复通知:

notification.repeatInterval = NSCalendarUnit.NSDayCalendarUnit

但是如果满足某些条件,则需要某种方法来跳过当前的通知。如果从通知中心删除这些通知,它们将不会在第二天触发。

另一种方法是让某些方法只为当前创建通知,然后在满足某些条件时将其删除。问题是,即使在后台模式下,这种方法也应该创建这些预定的通知,我不知道如何做到这一点。

有什么想法吗?

【问题讨论】:

【参考方案1】:

不幸的是,在特定时间唤醒应用的唯一方法是通过silent APNS push。这意味着您需要一个能够向您的设备发送静默推送的服务器,用户需要有互联网并且用户需要选择退出推送。

也许background fetch 对你有用?使用 Background Fetch,您的应用程序每隔最小间隔就会被唤醒一次。您可以将您的应用设置为每 x 分钟唤醒一次并检查该情况。

[application setMinimumBackgroundFetchInterval:100]; //seconds

请注意:

在另一个之前必须经过的最小秒数 可以启动后台获取。此值仅供参考,并且 未指示提取之间的确切时间量 操作。

【讨论】:

我在教程中找到了这段代码: UIApplication.sharedApplication().setMinimumBackgroundFetchInterval( UIApplicationBackgroundFetchIntervalMinimum) 据我所知,这种方法不能保证每天一次提取操作,我至少需要一次。还是我错过了什么? 它不保证任何事情。了解操作系统如何与后台提取一起工作的唯一方法是自己进行测试 - 或查找相关文章。

以上是关于跳过一个通知,每天重复的主要内容,如果未能解决你的问题,请参考以下文章

如何在每天不同的时间在android studio中设置每日重复通知?

每天在设定的时间快速重复本地通知

Swift:在每天设定的时间之间创建重复的本地通知

如何通知我的 WPF 应用程序我的 SQL 查询在插入数据库时​​跳过了重复的行?

安排本地通知从明天开始每天重复

如何每天重复一次 UNUserNotification?