在网上和许多stackoverflow帖子中看到我已经看到,当应用程序处于后台(并且从图标而不是从推送消息启动时)获取远程推送通知的唯一方法是在应用程序时调用服务器加载并获得" last"消息。
我已使用即时消息应用程序进行此测试(我不会告诉应用程序的名称,但我认为您理解):
所以,如果我在前台,我可以处理方法didReceiveRemoteNotification上的通知。
如果应用程序处于后台,我可以在didFinishLaunchingWithOptions中处理nofification(如果我使用推送通知弹出窗口启动它)。
当应用程序处于后台并且是从图标启动而不是从推送弹出窗口启动时,如何处理通知?
由于
答案 0 :(得分:1)
(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
UIApplicationState state = [application applicationState];
if(state == UIApplicationStateActive) { //当应用程序处于前台时,在此处编写代码以获取句柄推送通知 } 其他 { //当应用程序处于后台时,在此处编写代码以进行句柄推送通知 } }