从通知返回到上一个应用程序,而不是主屏幕



我有一个应用程序,它有一个活动,比如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);

但实际上我不明白为什么。有人能解释一下或者给出一个更好的答案吗?

相关内容

最新更新