Как очистить стек действий, когда пользователь нажимает на сообщение уведомления FCM? - PullRequest
0 голосов
/ 23 сентября 2018

Мое приложение для Android получает сообщения уведомления FCM ( отображать сообщения ) с веб-сервера.

Если уведомление приходит, когда приложение находится в фоновом режиме, и пользователь нажимает на него, новая «MainActivity» запускается поверх стека задач.Затем, когда пользователь нажимает кнопку «Назад», это действие завершается и отображается последнее запущенное действие (до того, как было произведено уведомление).

Мне нужно очистить весь стек действий, когда пользователь нажимает науведомления. Таким образом, когда пользователь нажимает кнопку «Назад», приложение завершает работу, сохраняя иерархию действий.

Это может быть легко, если я управляю намеренным запуском, как описано здесь , но, как описано в Типы сообщений FCM, документы , сообщения дисплея обрабатываются SDK FCM автоматическипоэтому в этом случае я не создаю никаких намерений;Вместо этого android автоматически запускает «MainActivity» при нажатии на уведомление.

Итак, есть ли способ добиться этого?

Ответы [ 2 ]

0 голосов
/ 23 сентября 2018

Для меня это сработало идеально:

<activity
android:name=".MainActivity"
android:clearTaskOnLaunch="true"
android:launchMode="singleTask">
0 голосов
/ 23 сентября 2018
<activity
android:name=".MainActivity"
android:launchMode="singleTop">

Добавьте следующее в ваш файл манифеста.https://inthecheesefactory.com/blog/understand-android-activity-launchmode/en

...