在后台处理远程通知

时间:2014-03-14 14:33:53

标签: ios push-notification

从几天开始,我正在寻找这个问题的解决方案,最后在这里发布:

当我收到远程通知,并忽略推送通知并通过单击应用程序图标启动应用程序时,委托方法" didreceiveRemoteNotification"不会被叫。有没有办法在应用启动时获得完整的通知有效载荷字典。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:3)

没有

您应该在服务器上存储通知详细信息,并向服务器发出请求以获取待处理的详细信息(并更新已访问的详细信息)。

除非用户明确选择从那里打开应用,否则应用无法访问通知中心的通知。

答案 1 :(得分:0)

启动时,您将通过启动选项收到远程通知。在您的应用程序委托中,实现- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions然后您可以检索您在didReceiveRemoteNotification:(NSDictionary *)userInfo中给出的相同字典,如下所示:

if ([launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]) {
    NSDictionary *userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]];

    ...
}
相关问题