android - 当应用程序处于后台但未挂起以及打开应用程序时,推送通知不起作用

标签 android ios cordova push-notification phonegap-plugins

在 Android 和 iOS 中,当应用程序在前台/打开或在后台但未挂起(未被杀死)时,当应用程序收到新推送时,不会弹出推送通知。

要接收新的推送弹出窗口,我需要终止该应用程序,然后我才能接收到它。

我正在为 cordova 使用以下插件: https://github.com/phonegap/phonegap-plugin-push

Cordova 版本: 5.3.1

我确实尝试为此找到解决方案,如果有人能指出我正确的方向,那将非常有帮助。

最佳答案

是的,这个插件是这样工作的,onreceived javascript事件被触发,但是当应用程序在前台时,通知栏不显示通知。

在 android 中,在最新版本中,您可以更改此行为,像这样执行初始化:

that.push = PushNotification.init({ 
                        "android": {
                            "senderID": that.GOOGLE_SENDER_ID,
                            "iconColor": "gray",
                            "icon": "icon_notification",
                            "forceShow": true
                        },
                        "ios": {}, 
                        "windows": {} 
                });

forceShow,允许应用程序在前台显示通知。

目前在 IOS 中是不可能的,有一个 pull request 来实现它,对于 1.6 版本,但是我尝试了代码,但我一直无法让它工作

这里有链接

https://github.com/phonegap/phonegap-plugin-push/pull/383

目前,我在 IOS 中做了一个解决方法,使用这个库通过 JS 显示虚假通知

http://taitems.github.io/UX-Lab/iOSNotification/index.html

另外,不知道为什么APP挂起后不显示通知,Android和IOS都出现这种情况?

在 IOS 中,您必须添加推送通知和后台模式的功能 -> 后台获取和远程通知。也许这是你的问题。

编码愉快!

关于android - 当应用程序处于后台但未挂起以及打开应用程序时,推送通知不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35620684/

相关文章:

ios - iPad 弹出窗口中的 NavigationView 在 SwiftUI 中无法正常工作

ios - 在 iOS 中将 "1/31/2016 5:53:21 AM"格式化为 "31 Jan' 16"

ios - 当 NSUrlSendAssynchronousrequest 操作运行时,选项卡栏应用程序按钮被阻止

cordova - 错误 : ENOENT: no such file or directory, 打开 '/root/.ionic/daemon.log'

java - 我的类(class)中可以包含哪些代码行,以便对电子邮件和密码进行验证?

android - AppCompat Material Style 部件色调错误

java - 在 JSONObject 中填充引号

java - 防止繁重进程时崩溃

android - 使用 Phonegap 扫描名片

android - IOS : Cordova App Crash on Google Map api zoom in ios 11. 3 iphone x