iOS远程推送通知与应用程序背景

时间:2014-06-30 15:12:22

标签: ios iphone push-notification

在网上和许多stackoverflow帖子中看到我已经看到,当应用程序处于后台(并且从图标而不是从推送消息启动时)获取远程推送通知的唯一方法是在应用程序时调用服务器加载并获得" last"消息。

我已使用即时消息应用程序进行此测试(我不会告诉应用程序的名称,但我认为您理解):

  • 从另一台设备发送了一条消息到我的设备
  • 当我的设备收到通知后,我等待推送通知弹出消失。
  • 此时我已将设备设为离线(无网络连接)
  • 然后我打开了应用程序,并在列表中正确添加了消息

所以,如果我在前台,我可以处理方法didReceiveRemoteNotification上的通知。

如果应用程序处于后台,我可以在didFinishLaunchingWithOptions中处理nofification(如果我使用推送通知弹出窗口启动它)。

当应用程序处于后台并且是从图标启动而不是从推送弹出窗口启动时,如何处理通知?

由于

1 个答案:

答案 0 :(得分:1)

  • (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {

    UIApplicationState state = [application applicationState];

    if(state == UIApplicationStateActive) {     //当应用程序处于前台时,在此处编写代码以获取句柄推送通知 } 其他 {     //当应用程序处于后台时,在此处编写代码以进行句柄推送通知 } }