这是我的代码 -
int icon = R.drawable.android;
long when = System.currentTimeMillis();
CharSequence text = "new message";
CharSequence contentTitle = stanza.getFrom(); // message title
CharSequence contentText = stanza.getBody(); // message text
Intent notificationIntent = new Intent(context, ChatBox.class);
notificationIntent.putExtra("buddyid",stanza.getFrom());
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,notificationIntent, 0);
// the next two lines initialize the Notification, using the configurations above
Notification notification = new Notification(icon, text, when);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
mNotificationManager.notify(1,notification);
答案 0 :(得分:0)
你试过了吗?
Intent.FLAG_ACTIVITY_CLEAR_TOP
使用notificationIntent.addFlag();
答案 1 :(得分:0)
我的解决方案是制作一个广播接收器,监听通知触发的广播动作。所以基本上:
通知触发广播操作,并附加要启动的活动的名称。
广播接收器在单击通知时捕获此信息,然后使用FLAG_ACTIVITY_REORDER_TO_FRONT标志创建启动该活动的意图
活动被带到活动堆栈的顶部,没有重复。