推送通知的“查看”委托
Posted
技术标签:
【中文标题】推送通知的“查看”委托【英文标题】:Delegate for "View" for Push Notification 【发布时间】:2011-04-28 21:18:25 【问题描述】:当我们点击推送通知警报的“查看”按钮时,是否有任何委托被调用。这是应用处于非活动状态的时候。
【问题讨论】:
【参考方案1】:是的,有。它是application:didFinishLaunchingWithOptions:
。来自 Apple 文档:
如果点击操作按钮, 系统启动应用程序并 应用程序调用其委托的 应用程序:didFinishLaunchingWithOptions: 方法(如果实施);它通过 通知负载(对于远程 通知)或 本地通知对象(对于本地 通知)。如果申请 图标被点击,应用程序调用 同样的方法,但没有提供 有关通知的信息。
这是参考:Local and Push Notification Programming Guide 查看处理本地和远程通知部分。
【讨论】:
ios 4 是否调用了相同的委托(如果应用程序处于后台状态)?或者它是否从以下委托中调用一个或两个调用 applicationWillEnterForeground/applicationDidBecomeActive ?【参考方案2】:看一眼Push Notification docs,您似乎在application:DidFinishLaunchingWithOptions:
中收到通知,并且可以使用UIApplicationLaunchOptionsRemoteNotificationKey
从选项字典中检索通知信息。
【讨论】:
【参考方案3】:当应用程序在后台时无法获取通知负载,因为当点击图标时会调用 applicationDidEnterForeground 并且在此方法中我们无法访问 launchOptions 或 userInfo 字典。
【讨论】:
以上是关于推送通知的“查看”委托的主要内容,如果未能解决你的问题,请参考以下文章
当应用程序处于非运行状态时,推送通知委托触发的解决方案是啥?