我遇到了问题。 假设有一个活动A. 现在,用户按Home键,并将A置于后台。 现在,在后台暂停一段时间后,它会生成一个通知。 单击该通知后,它将返回与后台完全相同的活动。 比如,在按下主页键之后,如果用户通过单击图标或最近启动的历史记录再次启动应用程序,则android会重新打开其先前状态中的最后一个活动。 在这里,我不想检测哪个是最后一个活动。我的活动是固定的,我只想在点击通知时将其恢复到以前的状态? 那可能吗 ?怎么做 ? 这是我的通知代码,
private void generateNotification(Context context, String message, String data) {
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.notification, message, System.currentTimeMillis());
Intent notificationIntent = new Intent(context, MenuActivity.class);
//notificationIntent.setFlags(Notification.FLAG_ONGOING_EVENT | Notification.FLAG_NO_CLEAR);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
Bundle bundle = new Bundle();
bundle.putString("data",data);
notificationIntent.putExtras(bundle);
//Constants.NOTIFICATION_ID++;
notification.setLatestEventInfo(context, context.getString(R.string.app_name), message, PendingIntent.getActivity(context, 0, notificationIntent, Notification.FLAG_ONGOING_EVENT | Notification.FLAG_NO_CLEAR));
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(Constants.NOTIFICATION_ID, notification);
}
答案 0 :(得分:0)
使用Intent.FLAG_ACTIVITY_CLEAR_TOP
代替FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
。