我需要创建2个通知,但如果我在最后一个使用FLAG_UPDATE_CURRENT或FLAG_CANCEL_CURRENT,那么它们都会得到相同的额外通知,否则是第一个。
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
for(int num=1;num<3;num++){
Intent intent = new Intent(this, ActivityNotification.class);
intent .putExtra("reminder_id", num);
PendingIntent pi = PendingIntent.getActivity(this, num, intent , 0);
// PendingIntent pi = PendingIntent.getActivity(this, num, intent , PendingIntent.FLAG_UPDATE_CURRENT);
Notification noti = new Notification.Builder(this)
.setContentIntent(pi)
.setContentTitle(title)
.setContentText(text)
.setSmallIcon(R.drawable.noti)
.setWhen(when)
.setAutoCancel(true)
.build();
noti.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(num, noti);
}
我怎么能有不同的临时演员?或者一般来说,我的ActivityNotification如何知道是哪个通知调用了它?
如这里所述:
-
选项1:在每个意愿中放入不同的动作字符串。在里面您的代码:
intent.putExtra("reminder_id", num); intent.setAction("com.yourapplic.intent.action.ACTION_NAME" + num); PendingIntent pi = PendingIntent.getActivity(this, num, intent , 0);
-
选项#2:在getActivity()调用中使用不同的requestCode(第二个参数)。这显然不适用于您的情况