<分区>
我有一个接收远程通知的应用程序。当应用程序在后台运行时,我可以通过两种方式将应用程序调到前台:
1. 通过点击通知中心的通知。
2. 单击 iPad 主屏幕上的应用程序图标。
我知道在这两种情况下,applicationDidBecomeActive: 都会被调用。
我想区分以上两种情况。对于情况 1,我想打开一个屏幕,对于情况 2,我想打开一个完全不同的屏幕,所以这种区别对我来说是必不可少的。如果有人能在这方面帮助我,我将不胜感激!!
提前致谢。
<分区>
我有一个接收远程通知的应用程序。当应用程序在后台运行时,我可以通过两种方式将应用程序调到前台:
1. 通过点击通知中心的通知。
2. 单击 iPad 主屏幕上的应用程序图标。
我知道在这两种情况下,applicationDidBecomeActive: 都会被调用。
我想区分以上两种情况。对于情况 1,我想打开一个屏幕,对于情况 2,我想打开一个完全不同的屏幕,所以这种区别对我来说是必不可少的。如果有人能在这方面帮助我,我将不胜感激!!
提前致谢。
最佳答案
当应用程序通过推送通知启动时,它将首先调用:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
//Application did receive push notification. Do whatever you want to do
}
在应用委托(delegate)中。 applicationDidBecomeActive
将在之后调用。
单击应用程序图标时,如果应用程序尚未在多任务菜单中打开,它将通过 didFinishLaunchingWithOptions
启动。或者再次 applicationDidBecomeActive
如果它已经处于事件状态。
关于ios - 区分应用程序是从远程通知启动还是通过单击应用程序图标启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27528913/