在特定时间停止iOS本地通知

时间:2017-01-13 19:19:21

标签: xamarin.ios uilocalnotification usernotifications

我的应用使用用户通知框架每30分钟安排一次本地通知。我设置了一个触发器

  var trigger = UNTimeIntervalNotificationTrigger.CreateTrigger(60 * 30, true); 

但是,我想在一段时间之后停止这些通知,让我们说晚上9点。我该怎么做?

1 个答案:

答案 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
        }

<强> 湾使用静默通知: 当应用程序收到静默远程通知时,远程通知接收到没有声音和警报的回叫方法。您可以执行代码以删除本地通知。