在特定时间停止 iOS 本地通知
Posted
技术标签:
【中文标题】在特定时间停止 iOS 本地通知【英文标题】:Stop iOS local notifications at particular time 【发布时间】:2017-01-13 19:19:21 【问题描述】:我的应用使用用户通知框架来安排每 30 分钟一次的本地通知。我设置了触发器
var trigger = UNTimeIntervalNotificationTrigger.CreateTrigger(60 * 30, true);
但是,我想在特定时间后停止这些通知,比如说晚上 9 点。我该怎么做?
【问题讨论】:
【参考方案1】:有 3 个选项可以删除本地通知。
1.当应用处于前台时:- 如果应用处于前台,请检查本地设备时间并删除所有待处理的本地通知。
UNUserNotificationCenter.Current.RemoveAllPendingNotificationRequests();
2。如果应用处于后台:当应用处于后台时,您无法在特定时间执行代码。有两种方法可以在特定时间删除本地通知。但是,由操作系统决定是否调用回调方法,具体取决于可用资源、电池百分比、设备是否正在充电等。
一个。 Background Fetch - 启用后台获取功能,当设备处于后台时,它将在特定时间后调用回调方法。同样,操作系统将根据应用的用途决定何时调用。
//Fetch interval
UIApplication.SharedApplication.SetMinimumBackgroundFetchInterval(UIApplication.BackgroundFetchIntervalMinimum);
//Call back method
public override void PerformFetch(UIApplication application, Action<UIBackgroundFetchResult> completionHandler)
// Code of removing local notifications
b.使用无声通知: 当应用收到无声远程通知时,远程通知接收到的回调方法被调用,没有声音和警报。您可以执行删除本地通知的代码。
【讨论】:
以上是关于在特定时间停止 iOS 本地通知的主要内容,如果未能解决你的问题,请参考以下文章