iOS推送通知 - 在“警报”标签中处理/编辑消息,然后在状态栏的通知中显示该消息

时间:2015-09-08 02:25:48

标签: ios

我在推送通知中的'alert'标签中收到了母语。由于字符串编码的一些问题,消息显示为罗马字符。所以我想在'alert'标签中获取消息并在将其显示为通知之前进行编辑。我尝试了didReceiveRemoteNotification回调,我不认为它被调用。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

当应用程序位于前台/后台以及应用程序根本没有运行时,推送通知会有不同的行为。当应用程序运行时,无论是否在前台,您都会收到didReceiveRemoteNotification:的来电,并且您将负责处理通知的显示(操作系统不会为您执行此操作)。

当应用程序在后台时,只有当用户按下操作系统向他/她显示的通知横幅/警告时,您才会收到didReceiveRemoteNotification:的来电。如果用户选择不与通知进行互动,您的应用甚至都不会知道。

如果应用程序根本没有运行,行为将类似于应用程序在后台时的行为,只有您将在application:didFinishLaunchingWithOptions:的userInfo字典中收到推送通知指示和数据

因此,如果您的问题涉及应用程序位于前台的情况,那么这应该不是问题,您可以使用警报字段执行任何操作,然后再将其显示给用户。否则,操作系统有责任显示警报,使其更复杂一些。尝试使用可用的工具来本地化警报,如下所述:Change language of alert in banner of Push Notification。希望它会有所帮助。祝你好运。