我使用PushPlugin
创建了一个应用到目前为止,我收到了预期的通知。但如果我同时推送2个以上的通知,它会在状态栏中显示通知。但是,如果我点击第二个(+),我将从第一个通知中收到有效载荷。
我现在整整一天都找不到它:(
希望有人可以帮助我
Cordova 5
插件:Link
顺便说一句:这发生在1个事件"冷启动"
答案 0 :(得分:0)
此问题的原因在于GCMIntentService.java,代码是通过以下方式启动应用程序:
PendingIntent contentIntent =
PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
这意味着它总是使用相同的requestCode
。所以应用程序总是使用第一个通知负载。修复方法是更改每个通知的requestCode
。
int requestCode = new Random().nextInt();
PendingIntent contentIntent = PendingIntent.getActivity(this, requestCode,
notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
我们已在新版本的PushPlugin中解决了这个问题,可以在以下网址找到:
https://github.com/phonegap/phonegap-plugin-push
这是我们在PhoneGap Day EU上宣布的PushPlugin的版本,它将被维护,而不是您当前使用的插件版本。
答案 1 :(得分:0)
在此处找到了解决方法:https://github.com/phonegap-build/PushPlugin/issues/328
notId的处理方式有所不同