Estoy creando una notificación dentro de un BroadcastReceiver a través de este código:
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(ns);
int icon = R.drawable.ic_stat_notification;
CharSequence tickerText = "New Notification";
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
notification.defaults |= Notification.DEFAULT_VIBRATE;
long[] vibrate = {0,100,200,200,200,200};
notification.vibrate = vibrate;
notification.flags |= Notification.FLAG_AUTO_CANCEL;
CharSequence contentTitle = "Title";
CharSequence contentText = "Text";
Intent notificationIntent = new Intent(context, NotificationActivity.class);
notificationIntent.putExtra(Global.INTENT_EXTRA_FOO_ID, foo_id);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
int mynotification_id = 1;
mNotificationManager.notify(mynotification_id, notification);
Cuando hago clic en la notificación, se abre NotificationActivity y dentro de la Actividad puedo recuperar el foo_id del Intent-Bundle (por ejemplo, 1)
Sin embargo, si se activa otra notificación y hago clic en ella nuevamente, la actividad aún recibe el valor "antiguo" (1) del paquete de intención. Intenté borrar el paquete con clear (), pero recibo el mismo efecto. Creo que algo está mal con mi código ...