当应用程序在前台时,如何使远程通知出现在通知中心?

Posted

技术标签:

【中文标题】当应用程序在前台时,如何使远程通知出现在通知中心?【英文标题】:How to make remote notification appear in notification center when app is in the foreground? 【发布时间】:2021-04-12 12:31:36 【问题描述】:

当我的应用程序在前台时,它会收到来自我的服务器的推送通知,触发我的UNNotificationServiceExtension,然后触发userNotificationCenter(_:willPresent:withCompletionHandler:)。通知会在应用顶部显示几秒钟,但是当我滑动手机顶部查看通知中心时,通知不存在。

如果我收到通知时我的手机被锁定或应用程序在后台,那么它确实会出现在通知中心。

当应用在前台时,如何让通知显示在通知中心?

【问题讨论】:

你能分享你的 userNotificationCenter(_:willPresent:withCompletionHandler:) 实现吗? @BurakAkkaş 我只有一行:completionHandler([[.banner, .badge, .sound]]) 【参考方案1】:

我认为添加 .list 应该可以解决问题

completionHandler([.badge, .banner, .sound, .list])

你可以阅读更多关于UNNotificationPresentationOptionshere.的信息

【讨论】:

哇,谢谢。我知道我遗漏了一些小细节,但我没有看到任何使用 .list 字段的示例。被困在这个问题上的时间比我想承认的要长。 根据经验,我总是在使用 Enum 之前检查所有可用的选项,这样以后会省去很多麻烦。 我也想要这个。我正在使用 Obj C。我会将这些信息放在手边。谢谢。

以上是关于当应用程序在前台时,如何使远程通知出现在通知中心?的主要内容,如果未能解决你的问题,请参考以下文章

当应用程序进入前台时检测远程通知

Android 应用在前台未显示 Azure 通知中心通知

当用户在聊天屏幕上时,如何使 FCM 通知不显示通知消息?

当应用程序进入后台和前台时,带有通知中心的登录屏幕,Swift

当 Windows (phone) 8.1 应用程序在前台时接收并处理通知参数

当我的 iOS 应用程序处于前台时,如何使本地通知静音?