tôi đang tạo một thông báo bên trong BroadcastReceiver thông qua mã này:
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);
Khi tôi nhấp vào thông báo, nó sẽ mở Thông báo và bên trong Hoạt động tôi có thể truy xuất foo_id từ Gói ý định (ví dụ 1)
Tuy nhiên, nếu một thông báo khác được kích hoạt và tôi nhấp vào nó một lần nữa, hoạt động vẫn nhận được giá trị "cũ" (1) từ Gói ý định. Tôi đã cố gắng xóa gói với Clear (), nhưng đang nhận được hiệu quả tương tự. Tôi nghĩ rằng sth là sai với mã của tôi ..