应用位于前台时的推送通知样式



当我测试我的iOS应用程序时,我将通知样式首选项设置为横幅样式。当我的应用程序不在前台(在后台或关闭)时,这有效。但是,当应用程序位于前台时,通知显示为UIAlertView

这是苹果的设计吗?或者,也许我缺少一些可以应用的设置?

您可以在AppDelegate.m中使用application:didReceiveRemoteNotification:fetchCompletionHandler:。这样,您可以按照所需的方式处理通知。有时不需要在UIAlertView内显示任何内容,但您想更新特定的UILabels或其他内容。您还可以获得一个userInfo,您可以在其中获得有关Push的更具体信息。您还可以确定您目前处于哪种模式:

if ( application.applicationState == UIApplicationStateInactive 
     || application.applicationState == UIApplicationStateBackground  ) {
} else {
}

文件说:

使用此方法处理应用的传入远程通知。 与应用程序不同:didReceiveRemoteNotification: 方法,它是 仅当应用在前台运行时调用,系统 当应用在前台运行时调用此方法,或者 背景。此外,如果您启用了远程通知 后台模式,系统会启动您的应用程序(或将其从 挂起状态),并在推送时将其置于后台状态 通知到达。但是,系统不会自动 如果用户已强制退出应用,请启动该应用。在这种情况下, 用户必须先重新启动应用或重新启动设备,然后才能启动系统 尝试再次自动启动应用。

"

当应用处于前台时,通知显示为UIAlertView。

它不应该,除非,你已经写信在你的ApDelegate的didReceiveRemoteNotification:方法中显示警报。当您收到推送通知时,将调用该方法。

如果要显示一些 Toast 通知(当应用程序位于前台时),则可以检查这一点。当应用程序处于前台 iOS 时获取推送通知

最新更新