Многократное уведомление от GCM, не указывающее на правильную деятельность
Я использую GCM для push-уведомлений. Мое ограничение заключается в том, что из полученного пакета от сервера GCM я должен перенаправить пользователя в определенное место в моем приложении. Все работает нормально, когда у меня только одно уведомление. Если в панели уведомлений есть два уведомления, то пользователь перенаправляется на действие на основе последнего пакета. Все остальные комплекты игнорируются. Я следил за многими так, как сообщениеэтот а такжеэтот но это не решило мою проблему. Вот выдержки из моего кода:
private void sendNotification(String msg, String type, String id) {
mNotificationManager = (NotificationManager) this
.getSystemService(Context.NOTIFICATION_SERVICE);
Intent intent = new Intent(this, MainActivity.class);
intent.putExtra("notification_type", type);
intent.putExtra("notification_id", id);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
intent, 0);//I have tried all flags of pending intent like PendingIntent.FLAG_UPDATE_CURRENT and other 3
// flag_update_current
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
this).setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("RWD Rugby").setAutoCancel(true)
.setStyle(new NotificationCompat.BigTextStyle().bigText(msg))
.setContentText(msg);
Random rnd = new Random();
NOTIFICATION_ID = rnd.nextInt(90000);
Log.d("notification number", NOTIFICATION_ID + "");
mBuilder.setContentIntent(contentIntent);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
}
На приемном конце я использую:
Intent intent = getIntent();//this gives me extras from the intent that started the activity not pending intent
String fromNotification = intent.getStringExtra("notification_type");
Возможно, мне придется пойти на компромисс в отношении результата, который я могу получить. Для меня лучший сценарий - это то, что пользователь перенаправляется на правильную страницу в зависимости от свойства, которое я установил при создании намерения. Любая помощь очень ценится, и если я не достаточно конкретен, пожалуйста, спросите.