首页 文章

如何知道在应用程序处于后台时是否触发了本地通知?

提问于
浏览
4

我启用了后台模式以进行位置更新 . 我创建了一个计划的本地通知,我希望能够在触发时停止位置服务并且应用程序在后台运行 .

似乎 didReceiveLocalNotification 方法仅在应用程序处于前台时调用,或者它在后台并且用户点击它时,是否有任何方法可以注意到它在应用程序处于后台时被触发,但是用户没有点击它?

1 回答

  • 1

    我希望这可能有所帮助

    当系统发送本地通知时,可能会发生一些事情,具体取决于应用程序状态和通知类型 . 如果应用程序不在最前面并且可见,则系统会显示警报消息,对应用程序进行标记,并播放声音 - 通知中指定的任何内容 . 如果通知是警报并且用户点击操作按钮(或者,如果设备被锁定,则拖动打开操作滑块),应用程序被唤醒或启动 . (如果用户点击您使用additionalActions属性指定的其中一个自定义操作,则应用程序将被唤醒或启动到后台 . )在其应用程序:didFinishLaunchingWithOptions:方法中,应用程序委托可以从启动选项字典中获取UILocalNotification对象使用UIApplicationLaunchOptionsLocalNotificationKey键 . 委托可以检查通知的属性,如果通知在其userInfo字典中包含自定义数据,则它可以访问该数据并相应地处理它 . 另一方面,如果本地通知仅标记应用程序图标,并且响应中的用户启动应用程序,则调用应用程序:didFinishLaunchingWithOptions:方法,但选项字典中不包含UILocalNotification对象 . 当用户选择自定义操作时,将调用app delegate的应用程序:handleActionWithIdentifier:forLocalNotification:completionHandler:方法来处理操作 .

    这来自Apple文档 .

相关问题