我设置了UILocalNotification,据我所知,我有5种不同的场景:
我如何处理这5种不同的情景?
答案 0 :(得分:2)
将您的代码放入application:didFinishLaunchingWithOptions:
。在
行动NSDictionary
您将找到有关的信息
通知。
您可以再次检查application:didFinishLaunchingWithOptions:
是否为本地
通知仍然有效并采取适当的措施。
将您的代码放入applicationWillEnterForeground:
同样的位置,只需检查是否有活动的本地通知。
您可以在此处检入application:didReceiveLocalNotification:
并通知用户。
答案 1 :(得分:0)
不完全确定您的目标,但以下内容可能会回答您的问题。
当系统发送本地通知时,可能会发生一些事情,具体取决于应用程序状态和通知类型。如果应用程序不是最前面且可见,则系统会显示警报消息,对应用程序进行标记,并播放声音 - 通知中指定的任何内容。如果通知是警报并且用户点击操作按钮(或者,如果设备被锁定,则拖动打开操作滑块),则启动应用程序。在应用程序:didFinishLaunchingWithOptions:方法中,应用程序委托可以使用UIApplicationLaunchOptionsLocalNotificationKey键从传入的选项字典中获取UILocalNotification对象。委托可以检查通知的属性,如果通知在其userInfo字典中包含自定义数据,则它可以访问该数据并相应地处理它。另一方面,如果本地通知仅标记应用程序图标,并且响应中的用户启动应用程序,则调用application:didFinishLaunchingWithOptions:方法,但选项字典中不包含UILocalNotification对象。
如果应用程序在系统发送通知时最重要且可见,则不会显示警报,没有图标标记,也不会播放声音。但是,如果应用程序委托实现它,则调用application:didReceiveLocalNotification :. UILocalNotification实例将传递给此方法,委托可以检查其属性或访问userInfo字典中的任何自定义数据。