繁体   English   中英

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

[英]Push notification style when app is in foreground

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

这是Apple的设计吗? 或许我错过了一些我可以申请的设置?

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

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

} else {

}

文件说:

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

当应用程序位于前台时,通知显示为UIAlertView。

它不应该,除非你写了在ApDelegate的didReceiveRemoteNotification didReceiveRemoteNotification:方法中didReceiveRemoteNotification: 当您收到推送通知时,将调用该方法。

如果你想显示一些吐司通知(虽然app在前景中)比你可以检查这个。 在前台iOS中的App时获取推送通知

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM