【发布时间】:2018-01-20 22:21:30
【问题描述】:
我在 Xamarin.iOS 平台上的 iOS 应用程序上实现了推送通知处理,但我的问题也适用于 iOS 本机。
由于某些原因,当我的应用程序处于后台模式时,我需要处理推送通知,因此我在我的项目中使用了 Background Mode 和 Push Notification。此外,我还将值为 1 的 content-available 键包含到有效负载的 aps 字典中。我还包括 alert、badge 和 sound 键,因为我想向用户显示此推送通知并将其添加到通知中心。
在后台模式下收到推送通知后(当应用程序未处于活动状态时):
1) 我使用 DidReceiveRemoteNotification() 方法处理推送通知接收。
2) 用户看到通知从屏幕顶部向下滚动为横幅。
3) 我更改了应用程序图标徽章计数器。
我的问题是,在所有这些操作之后,推送通知不会添加到通知中心。
据我了解,在处理 DidReceiveRemoteNotification() 方法中的推送通知后,iOS 将此通知标记为 handled 并且不会将它们添加到通知中心。作为可能的解决方案,我可以创建本地通知,安排它们并将其添加到通知中心,但用户将再次看到通知从屏幕顶部滚动为横幅,这并不好(看起来用户收到 2 个通知,但通知中心仅显示 1 个)。
这种行为的实际原因是什么?我该如何解决这个问题?
【问题讨论】:
标签: ios objective-c push-notification xamarin.ios