【问题标题】:Stop iOS local notifications at particular time在特定时间停止 iOS 本地通知
【发布时间】:2017-01-13 19:19:21
【问题描述】:

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

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

但是,我想在特定时间后停止这些通知,比如说晚上 9 点。我该怎么做?

【问题讨论】:

    标签: xamarin.ios uilocalnotification usernotifications


    【解决方案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.使用无声通知: 当应用收到无声远程通知时,远程通知接收到的回调方法被调用,没有声音和警报。您可以执行删除本地通知的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-10
      • 1970-01-01
      • 2018-01-11
      • 2013-04-10
      • 1970-01-01
      • 2016-11-06
      • 2022-12-16
      相关资源
      最近更新 更多