如何让应用程序在前台运行时忽略远程通知,但在单击通知栏上的通知启动应用程序时响应它?
最佳答案
当应用程序位于前台时,通知栏中不会显示通知。通知有效负载将传递到 application:didReceiveRemoteNotification:
方法,如果您愿意,可以在其中忽略它。
当通知到达时应用程序在后台运行时,当您打开应用程序时,也会调用 application:didReceiveRemoteNotification:
。您可以使用以下代码区分这两种情况:
-(void)application:(UIApplication *)app didReceiveRemoteNotification:(NSDictionary *)userInfo
{
if([app applicationState] == UIApplicationStateInactive)
{
//application was running in the background
}
}
当您通过点击通知打开应用程序时,通知有效负载将传递到名为 application:didFinishLaunchingWithOptions:
的不同方法,您可以在其中处理它。
关于ios - 如何在应用程序在前台运行时忽略远程通知,但在单击通知启动应用程序时处理它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18011239/