[解决]
在我寻找解决方案的过程中,亮点一击:通过看到Cordova已经更新,PushPlugin也得到了更新。 在我使用的版本中,我粘贴在问题中的剪辑不存在。
我更新了Cordova和插件......现在通过使用' notId'来自后端的领域! ;)
我留下以下问题,供更多读者使用!
此致
里克多维
我正在开发Cordova / PhoneGap中的移动应用程序。我正在使用PushPlugin(https://github.com/phonegap-build/PushPlugin)来实现推送通知机制。
当我向设备发送多个推送时,我只能在Android设备上看到其中一个推送。 iOS设备会在锁定屏幕中显示所有推送通知。
如何在Android中显示多个通知?我在插件的文档中搜索了一下,我在' onMessage'中找到了以下代码片段。方法:
[...]
int notId = 0;
try {
notId = Integer.parseInt(extras.getString("notId"));
}
catch(NumberFormatException e) {
Log.e(TAG, "Number format exception - Error parsing Notification ID: " + e.getMessage());
}
catch(Exception e) {
Log.e(TAG, "Number format exception - Error parsing Notification ID" + e.getMessage());
}
mNotificationManager.notify((String) appName, notId, mBuilder.build());
[...]
我试图设置不同的' notId'后端的字段,但它似乎不起作用......
还有其他想法吗?
感谢您的帮助, 瑞克。
答案 0 :(得分:0)
Use this :
notificationManager.notify((String)appName,(int) Calendar.getInstance()
.getTimeInMillis(), mBuider.build()); //What you are doing wrong is setting each notification same id so they are replacing one another and this code create new id by time , so you can see multiple notification on the screen
答案 1 :(得分:0)
对notId使用随机数,这将起作用,如:
Random rnd = new Random();
int notId = rnd.nextInt(100);
而不是:
int notId = 0;
答案 2 :(得分:0)
你必须知道notfication id,因为它一直没有解决方案是你必须使用ramdom数字概念
Random random = new Random();
int randomNumber = random.nextInt(9999 - 1000) + 1000;
notificationManager.notify(randomNumber, notification);