在 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/