我的应用使用用户通知框架每30分钟安排一次本地通知。我设置了一个触发器
var trigger = UNTimeIntervalNotificationTrigger.CreateTrigger(60 * 30, true);
但是,我想在一段时间之后停止这些通知,让我们说晚上9点。我该怎么做?
答案 0 :(得分:1)
有3个opitios可以删除本地通知。
<强> 1。当应用程序位于前台时: - 如果应用程序位于前台,请检查本地设备时间并删除所有待处理的本地通知。
UNUserNotificationCenter.Current.RemoveAllPendingNotificationRequests();
<强> 2。如果应用程序处于后台:当应用程序处于后台时,您无法在特定时间执行代码。有两种方法可以在特定时间删除本地通知。然而,根据可用资源,电池百分比,设备是否正在充电等,操作系统决定是否应该调用回调方法。
<强> 一个。后台获取 - 启用后台获取功能,该功能将在设备处于后台的特定时间后调用回调方法。同样,操作系统将决定何时调用,具体取决于应用程序的使用。
//Fetch interval
UIApplication.SharedApplication.SetMinimumBackgroundFetchInterval(UIApplication.BackgroundFetchIntervalMinimum);
//Call back method
public override void PerformFetch(UIApplication application, Action<UIBackgroundFetchResult> completionHandler)
{
// Code of removing local notifications
}
<强> 湾使用静默通知: 当应用程序收到静默远程通知时,远程通知接收到没有声音和警报的回叫方法。您可以执行代码以删除本地通知。