ios - 如何在应用程序在前台运行时忽略远程通知,但在单击通知启动应用程序时处理它?

标签 ios push-notification apple-push-notifications

如何让应用程序在前台运行时忽略远程通知,但在单击通知栏上的通知启动应用程序时响应它?

最佳答案

当应用程序位于前台时,通知栏中不会显示通知。通知有效负载将传递到 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/

相关文章:

php - 通过 UIWebView 将设备 token 发送到 PHP 脚本

php - 是否可以将音频文件与 apns 推送消息一起发送

android - iOS Android 和 windows 推送通知

ios - 在iPhone5上未收到推送通知

swift -GCM : Don't display iOS remote push notification

ios - 处理 REST 中的 Swift 选项和部分 JSON 表示/响应

ios - 如何通过 firebase 函数将数据传递给 Paypal?

ios - 自动布局的 UIScrollview 滚动问题

ios - 更新数据时Swift 3 xcode 8 firebase数据库错误

iphone - “no valid ' aps-environment ' entitlement string” 注册推送通知时