Возврат к предыдущему приложению вместо домашнего экрана из уведомления

У меня есть приложение с активностью, скажем 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());

1 ответ

Я, кажется, найти ответ, добавить следующие две строки:

resultIntent.setAction(Intent.ACTION_MAIN);
resultIntent.addCategory(Intent.CATEGORY_LAUNCHER);

и удалите эту строку:

resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

Но на самом деле я не понимаю, почему. Кто-нибудь объяснит это или даст лучший ответ?