我有一个应用程序,它有一个活动,比如A。我在启动A的通知栏上放了一个通知。也就是说,当用户选择通知时,A活动就会启动。但当用户按下后退按钮时,系统将进入主屏幕,而不是之前的活动(可能是另一个应用程序的活动)。我怎么能让系统完成一个活动,然后回到上一个活动而不是主屏幕?
我创建通知的代码:
Notification.Builder mBuilder = new Notification.Builder(this).setSmallIcon(R.drawable.icon).setContentText("title");
Intent resultIntent = new Intent(this, ResultActivity.class);
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi = PendingIntent.getActivity(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(pi);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());
我似乎找到了答案,添加了以下两行:
resultIntent.setAction(Intent.ACTION_MAIN);
resultIntent.addCategory(Intent.CATEGORY_LAUNCHER);
并删除此行:
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
但实际上我不明白为什么。有人能解释一下或者给出一个更好的答案吗?