【发布时间】:2011-04-28 21:18:25
【问题描述】:
当我们点击推送通知警报的“查看”按钮时,是否有任何委托被调用。这是应用处于非活动状态的时候。
【问题讨论】:
标签: iphone objective-c cocoa-touch delegates push-notification
当我们点击推送通知警报的“查看”按钮时,是否有任何委托被调用。这是应用处于非活动状态的时候。
【问题讨论】:
标签: iphone objective-c cocoa-touch delegates push-notification
是的,有。它是application:didFinishLaunchingWithOptions:。来自 Apple 文档:
如果点击操作按钮, 系统启动应用程序并 应用程序调用其委托的 应用程序:didFinishLaunchingWithOptions: 方法(如果实施);它通过 通知负载(对于远程 通知)或 本地通知对象(对于本地 通知)。如果申请 图标被点击,应用程序调用 同样的方法,但没有提供 有关通知的信息。
这是参考:Local and Push Notification Programming Guide 查看处理本地和远程通知部分。
【讨论】:
看一眼Push Notification docs,您似乎在application:DidFinishLaunchingWithOptions: 中收到通知,并且可以使用UIApplicationLaunchOptionsRemoteNotificationKey 从选项字典中检索通知信息。
【讨论】:
当应用程序在后台时无法获取通知负载,因为当点击图标时会调用 applicationDidEnterForeground 并且在此方法中我们无法访问 launchOptions 或 userInfo 字典。
【讨论】: