当我测试我的iOS应用时,我将通知样式首选项设置为横幅样式。这适用于我的应用程序不在前台(在后台或关闭)。但是,当应用程序位于前台时,通知显示为UIAlertView
。
这是Apple的设计吗?或许我错过了一些我可以申请的设置?
答案 0 :(得分:1)
您可以使用application:didReceiveRemoteNotification:fetchCompletionHandler:
内的AppDelegate.m
。这样您就可以按照自己的方式处理通知。有时它不需要在UIAlertView
内显示任何内容,但您想要更新特定的UILabels
或更新内容。您还可以获得userInfo
,其中您可以获得有关Push
的更多具体信息。您还可以确定目前的模式:
if ( application.applicationState == UIApplicationStateInactive
|| application.applicationState == UIApplicationStateBackground ) {
} else {
}
使用此方法处理应用的传入远程通知。 与应用程序不同:didReceiveRemoteNotification:方法,即 只有当您的应用程序在前台即系统中运行时才会调用 当您的应用在前台运行或运行时调用此方法 背景。此外,如果您启用了远程通知 在后台模式下,系统启动你的应用程序(或从中唤醒它) 暂停状态)并在推送时将其置于后台状态 通知到了。但是,系统不会自动进行 如果用户强行退出,请启动您的应用。在那种情况下, 用户必须重新启动应用程序或在系统之前重新启动设备 尝试再次自动启动您的应用。
答案 1 :(得分:0)
" 当应用处于前台时,通知显示为UIAlertView。"
除非您已经写过在ApDelegate的didReceiveRemoteNotification:
方法中显示警报,否则不应该这样做。当您收到推送通知时,将调用该方法。
如果你想显示一些吐司通知(虽然应用程序在前景中),你可以检查这个。 Get push notification while App in foreground iOS