区分应用程序是从远程通知启动还是单击应用程序图标

时间:2014-12-17 15:22:14

标签: ios cocoa-touch apple-push-notifications

我有一个接收远程通知的应用程序。当应用程序在后台运行时,我可以通过两种方式将应用程序带到前台:
1.单击通知中心的通知 2.单击iPad主屏幕上的应用程序图标。

据我所知,在这两种情况下,都会调用applicationDidBecomeActive: 我想区分上述两种情况。当它是案例1时,我想打开一个屏幕而对于案例2,我想打开一个完全不同的屏幕,所以这种区别对我来说是必不可少的。如果有人能在这方面帮助我,我将不胜感激!

提前致谢。

1 个答案:

答案 0 :(得分:1)

当通过推送通知启动应用时,它将首先调用:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    //Application did receive push notification. Do whatever you want to do
}

在app委托中。之后将调用applicationDidBecomeActive

点击应用图标时,如果应用程序尚未在多任务菜单中打开,则会通过didFinishLaunchingWithOptions启动。如果已经有效,请再次applicationDidBecomeActive