如果在 ios 中收到通知时从后台删除应用程序,didReceiveLocalNotification 不会触发

Posted

技术标签:

【中文标题】如果在 ios 中收到通知时从后台删除应用程序,didReceiveLocalNotification 不会触发【英文标题】:didReceiveLocalNotification is not firing if app deleted from background when notification comes in ios 【发布时间】:2013-06-07 05:19:00 【问题描述】:

我已经设置了一个本地通知,它会以一定的时间间隔触发,当我点击横幅时,会调用“didReceiveLocalNotification”。现在,当我从后台删除应用程序时,当我在横幅上点击时,通知会再次出现,但这没有调用“didReceiveLocalNotification”的时间。请告诉我在这种情况下如何知道通知触发。

【问题讨论】:

【参考方案1】:

如果应用程序没有在后台运行,didReceiveLocalNotification 将不会调用 应用程序 didFinishLaunchingWithOptions:叫。在启动选项中,您可以查看通知

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions


// If application is launched due to alarm notification, provide the option to snooze it.
UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

  if (notification)
  
    // application is launched due to notification
  

【讨论】:

以上是关于如果在 ios 中收到通知时从后台删除应用程序,didReceiveLocalNotification 不会触发的主要内容,如果未能解决你的问题,请参考以下文章

Android:在应用程序关闭时从后台推送动态通知

当我单击一个通知时从列表中删除所有推送通知

如何在后台应用程序时从 JavaScript 发出通知/警报 - PhoneGap iPhone/iOS

当应用程序从后台删除时,Apple Push 通知不会在 ios 7 上传递

当我的应用程序处于后台或关闭时,当远程推送通知到达时从有效负载中获取数据

应用程序在 iOS 11 中处于后台时未收到推送通知