Уведомление приносит приложение на передний план без изменения активности

Я хочу создать уведомление о том, что когда он щелкнет, приложение будет перенесено на передний план, но без изменения (перезагрузки или перехода) последнего действия, которое было показано.

Я пробовал:

setContentIntent(PendingIntent.getActivity(context, 0, new Intent(context, MainActivity.class), Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT))

Но в новом Android 4.3 приложение вышло на передний план, но оно также запустило новый экземпляр MainActivity, и я не хочу этого.

Я хочу, чтобы мое приложение продолжалось с последнего показанного действия.
Как это сделать?

Ответ 1

Вы никогда не устанавливаете Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT. Этот флаг установлен Android, когда он переносит активность на передний план. Вы не устанавливаете его.

Есть несколько способов сделать то, что вы хотите. Проверьте этот ответ

Ответ 2

Добавьте " Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP" вместо " Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT"

Объяснено здесь

Надеюсь, что это поможет.

Ответ 3

Рабочим решением для меня было:

    //Resume or restart the app (same as the launcher click)
val resultIntent = Intent(context, MyLauncherActivity::class.java)
resultIntent.addCategory(Intent.CATEGORY_LAUNCHER)
resultIntent.setAction(Intent.ACTION_MAIN)
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
val pendingIntent = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT)
builder.setContentIntent(pendingIntent)  //builder is the notificationBuilder