Ios 确定当应用程序处于后台状态时,是否点击通知横幅或通知中心以启动应用程序
我已经检查了许多线程,并确定应用程序是否在收到通知后启动。 我只想在用户点击通知时处理推送通知。 我无法找出调用Ios 确定当应用程序处于后台状态时,是否点击通知横幅或通知中心以启动应用程序,ios,push-notification,Ios,Push Notification,我已经检查了许多线程,并确定应用程序是否在收到通知后启动。 我只想在用户点击通知时处理推送通知。 我无法找出调用应用程序:didReceiveMemoteNotify:fetchCompletionHandler:的原因。 当应用程序处于后台时,如何检查此方法是在点击通知时调用的,还是直接从推送调用的 谢谢。这里是推送通知的几个步骤 - (void)application:(UIApplication *)app didReceiveRemoteNotification:(NSDictionar
应用程序:didReceiveMemoteNotify:fetchCompletionHandler:
的原因。
当应用程序处于后台时,如何检查此方法是在点击通知时调用的,还是直接从推送调用的
谢谢。这里是推送通知的几个步骤
- (void)application:(UIApplication *)app didReceiveRemoteNotification:(NSDictionary *)userInfo {
//No Need to store the push notification if it is in active or in closed state we can directly navigate to the screens
NSLog(@"notification didReceive method called");
if([app applicationState] == UIApplicationStateInactive) {
//If the application state was inactive, this means the user pressed an action button
//Handle the code after push notification received
}
else if ([app applicationState] == UIApplicationStateActive) {
//Application is in Active state handle the push notification here
}
}
1) 。当您的应用程序被终止时,既不处于活动状态,也不处于后台。在这种情况下,当您收到任何通知时,将调用didfishlaunchingwithoptions
2) 。当您的应用处于活动状态或处于后台时,在这种情况下将调用didReceiveMemoteNotification:fetchCompletionHandler**
。您必须在此处标识应用程序状态,如下所示
if ( application.applicationState == UIApplicationStateActive ) {
// app was already in the foreground
}
else {
// app was just brought from background to foreground
}
事实上,当我们在后台收到推送通知,而用户并没有点击通知时,就会调用这个方法。我想区分它们。我想识别用户点击通知横幅的行为。当应用程序被终止时,我们可以将用户的点击标识为DidReceiveEmotentification:fetchCompletionHandler在非活动状态下被调用,但后台状态并非如此。