通知点击有效负载上的Android PushPlugin保持不变

时间:2015-08-03 12:10:16

标签: android cordova phonegap-pushplugin

我使用PushPlugin

创建了一个应用

到目前为止,我收到了预期的通知。但如果我同时推送2个以上的通知,它会在状态栏中显示通知。但是,如果我点击第二个(+),我将从第一个通知中收到有效载荷。

我现在整整一天都找不到它:(

希望有人可以帮助我

Cordova 5

插件:Link

顺便说一句:这发生在1个事件"冷启动"

2 个答案:

答案 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的处理方式有所不同