0

Я использую Google Cloud Messaging для получения новых заказов в приложении. Я пытаюсь обрабатывать случаи, когда один и тот же заказ отправляется дважды. Я просто хочу, чтобы вторая квитанция была проигнорирована, к сожалению, когда приложение находится в фоновом режиме, я, похоже, не могу отменить уведомление (т. Е. Он все еще производит шум и отправляет сообщение). Приложение отлично работает, когда на переднем плане, если вы хотите, чтобы код отмены уведомления в моем GCMBrodacastreceiver ничего не делал. Я что-то упускаю?Отмена уведомления, полученного в фоновом режиме от GCM (Android)

NotificationManager mNotify = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); 

mNotify.cancelAll(); 

ответ

0

Вы можете установить поле «тег» в полезной нагрузке уведомления. Если вы используете это, входящее уведомление будет просто обновлять любой существующий с тем же тегом.

cancelAll() отклонит уведомление, но ваш код может не вызываться, когда приложение находится в фоновом режиме, поскольку уведомление будет опубликовано без использования вашего кода приложения. Один из вариантов заключается в том, чтобы ваш сервер не отправил уведомление, если оно уже отправлено недавно.

Смежные вопросы