Как показать более одного нажатия в разделе Android-push

[Решено]

Удар яркости ударил меня, когда я искал решение: увидев, что Cordova была обновлена, также был обновлен PushPlugin. В той версии, которую я использовал, отсеки, которые я вставил в вопрос, отсутствовали.

Я обновил Cordova и плагин... Теперь он работает правильно, используя поле 'notId' из бэкэнда!;)

Я оставляю вопрос ниже, для дальнейших читателей!

С Уважением,

Rik


Я разрабатываю мобильное приложение в Cordova/PhoneGap. Я использую PushPlugin ( https://github.com/phonegap-build/PushPlugin) для реализации механизма push-уведомлений.

Когда я отправляю более одного нажатия на мои устройства, я вижу только одно из них на устройствах Android. Устройства iOS отображают все push-уведомления на экране блокировки.

Как я могу показать более одного уведомления в 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' в серверной части, но, похоже, оно не работает...

Любая другая идея?

Спасибо за вашу помощь, Рик.

3 ответа

Используйте случайное число для notId, и это будет работать, например:

   Random rnd = new Random();  
   int notId = rnd.nextInt(100);  

вместо:

    int notId = 0;

Вы должны изменить идентификатор уведомления, потому что решение проблемы заключается в том, что вам нужно использовать концепцию случайных чисел.

Random random = new Random();
int randomNumber = random.nextInt(9999 - 1000) + 1000;
notificationManager.notify(randomNumber, notification);
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 
Другие вопросы по тегам