当我的应用程序处于后台时,仅当我触摸顶部通知横幅时才会处理推送通知

时间:2012-07-22 18:20:05

标签: ios push-notification

我已经实施了

application:didReceiveRemoteNotification:

在收到推送通知时将数据存储在我的应用中。

但是当我的应用程序处于后台并收到通知时,只有当我触摸顶部显示的通知横幅时才会存储数据:

enter image description here

相反,如果我触摸应用程序图标重新打开它,则不会存储通知内容:

enter image description here

由于我仅在使用分发配置文件时才收到通知,因此我不确定仅当我将通知横幅推到最顶层时才会调用application:didReceiveRemoteNotification:

我认为在收到通知时始终会调用它,而不是在用户对设备执行操作后调用。

更新即可。 我不知道这是否有用,但是,只是为了让你知道,我还没有实现任何这些方法:

– applicationDidEnterBackground:
– applicationWillEnterForeground:
- applicationDidBecomeActive:

1 个答案:

答案 0 :(得分:1)

我想我已经找到了原因。来自文档:

  

如果点击操作按钮(在运行iOS的设备上),则系统   启动应用程序,应用程序调用其代理人   application:didFinishLaunchingWithOptions:方法(如果实现);它   传递通知有效载荷(用于远程通知)或   本地通知对象(用于本地通知)。

     

如果在运行iOS的设备上点击应用程序图标,则   应用程序调用相同的方法,但不提供任何信息   通知。

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html

但是,我想知道是否有办法加载有效负载,即使通过触摸图标重新打开了应用程序。