从前台引回活动
我陷入了一个问题。 假设现在有一个活动A,用户按Home键,并将A置于后台。 现在,在留在后台一段时间后,它会生成通知。 点击该通知后,它将返回与后台完全相同的活动。 就像在按Home键之后,如果用户通过点击图标或从最近启动的历史记录再次启动应用程序,那么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);
}
使用Intent.FLAG_ACTIVITY_CLEAR_TOP
代替FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
。