为啥在应用程序打开时收到通知时弹出 UIAlertview (Cordova)

Posted

技术标签:

【中文标题】为啥在应用程序打开时收到通知时弹出 UIAlertview (Cordova)【英文标题】:Why Is A UIAlertview is Popping Up When Notification Is Received While App Is Open (Cordova)为什么在应用程序打开时收到通知时弹出 UIAlertview (Cordova) 【发布时间】:2015-03-13 18:50:44 【问题描述】:

我有一个使用 Cordova 构建的应用程序。

我们在推送通知和警报方面遇到问题。我认为默认情况下,如果用户在收到推送通知时打开应用程序,系统会知道不发送 UIAlertView。

情况并非如此,只要手机打开并收到推送通知,就会出现针对每个通知的 UIAlertview。

因此,例如,如果用户发布了一些内容,并且 20 人做了一些发送事件的事情,那么该应用会收到 20 个弹出警报。

如果应用打开,我如何禁用推送通知警报?

【问题讨论】:

【参考方案1】:

转到插件文件夹中的 AppDelegate+notification.m 文件

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 

UIApplicationState state = [application applicationState];

if (appState == UIApplicationStateBackground) 
    // your UIalertview

【讨论】:

这是不正确的。警报仍会显示(如果来自服务器的消息在有效负载中发送警报标志)。在调用此方法之前显示警报

以上是关于为啥在应用程序打开时收到通知时弹出 UIAlertview (Cordova)的主要内容,如果未能解决你的问题,请参考以下文章

应用程序打开时推送通知不起作用?

iOS AirPlay:我的应用程序仅在镜像打开时才收到外部显示器通知?

应用程序打开时如何获得推送通知?

应用打开时在整个应用中显示 FCM 通知 (Flutter)

应用打开时更新徽章而不发出警报

在后台 iOS Xcode 中获取信标通知