跳过一个通知,每天重复
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中设置每日重复通知?