Уведомление приносит приложение на передний план без изменения активности
Я хочу создать уведомление о том, что когда он щелкнет, приложение будет перенесено на передний план, но без изменения (перезагрузки или перехода) последнего действия, которое было показано.
Я пробовал:
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