iOS - 从后台处理远程推送通知。前景
iOS - Handling Remote Push Notifications From Background Vs. Foreground
我需要根据收到远程推送通知的时间来处理它们。当应用程序在后台或终止时,如果我收到推送通知,当我点击推送通知时,我会在 `
中处理
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
我可以告诉可见的 UIViewController
推送到必要的视图。
但是,当我已经在应用程序中时收到远程推送通知时,我不希望应用程序执行任何操作,只是增加主视图上的通知计数器。现在它做同样的事情,推送到必要的视图,但这应该只发生在应用程序最初在后台并且用户点击推送通知进入应用程序时。
如何区分这两个用例?
您可以查看 UIApplication class 的 "applicationState" 属性。
UIApplicationState applicationState = [UIApplication sharedApplication].applicationState;
if(applicationState==UIApplicationStateActive){
NSLog(@"push message received when app was active"):
}else{
}
您可以在您已经使用的以下委托方法中执行此检查。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
希望对您有所帮助!!
我需要根据收到远程推送通知的时间来处理它们。当应用程序在后台或终止时,如果我收到推送通知,当我点击推送通知时,我会在 `
中处理- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
我可以告诉可见的 UIViewController
推送到必要的视图。
但是,当我已经在应用程序中时收到远程推送通知时,我不希望应用程序执行任何操作,只是增加主视图上的通知计数器。现在它做同样的事情,推送到必要的视图,但这应该只发生在应用程序最初在后台并且用户点击推送通知进入应用程序时。
如何区分这两个用例?
您可以查看 UIApplication class 的 "applicationState" 属性。
UIApplicationState applicationState = [UIApplication sharedApplication].applicationState;
if(applicationState==UIApplicationStateActive){
NSLog(@"push message received when app was active"):
}else{
}
您可以在您已经使用的以下委托方法中执行此检查。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
希望对您有所帮助!!