本地通知触发时检测
Posted
技术标签:
【中文标题】本地通知触发时检测【英文标题】:Detect when fire of local notification 【发布时间】:2014-01-13 05:31:56 【问题描述】:有一种方法可以检测localnotification
何时着火??
例如,我有一个在凌晨 12:00 触发的通知,它显示notification
有办法知道用户是否触摸了notification
。
因为如果用户没有触摸notification
,我想设置其他警报在20分钟后触发,如果它没有触摸notification
,什么时候触发。
【问题讨论】:
【参考方案1】:在应用委托中调用 -(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
以了解用户何时从通知返回应用。注意:这仅在应用程序未关闭时调用,即通过多任务关闭。我建议在上午 12:00 设置一个计时器以设置另一个通知,如果用户从第一个通知返回到应用程序,则取消第二个通知。
【讨论】:
确切地说,设置 2 个本地通知,第一个在所需的日期,第二个在第一个 + 20 分钟的日期(或您想要的任何间隔)。然后,如果第一个触发,则取消第二个。如果没有触发,将显示第二个。【参考方案2】:当应用程序在前台或后台时,然后在 appDelgate 中触发通知时调用此方法
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
如果应用程序关闭然后点击通知然后 didFinishLaunchingWithOptions 方法检查是本地通知
if ([[launchOptions allKeys] UIApplicationLaunchOptionsLocalNotificationKey])
【讨论】:
以上是关于本地通知触发时检测的主要内容,如果未能解决你的问题,请参考以下文章
如果在 iOS 设置中禁用通知访问时安排本地通知,则不会在 iOS 13 上触发本地通知