4

嘿,谁能告诉当应用程序在后台时如何获取推送通知的自定义有效负载?

如果您的应用程序在后台并且您收到推送通知并且用户点击应用程序“查看”,则应用程序将启动并被application:didFinishLaunchingWithOptions:调用。UIApplicationLaunchOptionsRemoteNotificationKey在这种情况下,我们可以通过userInfo字典访问自定义通知负载 。

如果您的应用程序在后台并且您收到推送通知并且用户点击应用程序图标,它会将应用程序带到前台。

发生这种情况时,只会applicationDidEnterForeground:调用 only ,并且无法访问推送通知的有效负载。

我的要求是仅注册徽章,没有警报,因此当用户在后台收到通知时,没有“查看”按钮来启动应用程序。当用户收到通知并且应用程序处于后台时,applicationDidEnterForeground:会调用用户点击应用程序图标。所以我们无法访问launchOptions字典或userInfo字典,我们可以从中获取通知有效负载。

我在这里错过了什么吗?

4

1 回答 1

7

application:didReceiveRemoteNotification:如果您的应用程序在后台运行,则当用户点击状态栏下拉菜单中的通知时调用。您在答案中提到的链接解释了如何使用它。

编辑:对不起,我误解了你的问题(错过了你只做徽章)。随意给我投反对票:(

于 2012-01-26T22:38:19.963 回答