Как отправить приложение в фоновый режим после завершения действия, которое начинается с push-уведомления - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть действие, которое вызывается, если приложение получает push-уведомление.Действие начинается с FLAG_ACTIVITY_NEW_TASK и FLAG_ACTIVITY_CLEAR_TOP.Упражнение, давайте назовем его «A», показывает UI и заканчивается через некоторое время.В этой точке есть проблема со стеком действий.

Сценарий:

  1. Приложение находится в фоновом режиме с другим действием 'B'
  2. Затем приложение получаетpush-уведомление и запуск Activity A.
  3. После выполнения связанных действий приложение завершает Activity A
  4. Затем возвращается к Activity B и остается на переднем плане, даже если приложение находилось в фоновом режиме до push-уведомления

После отладки я выяснил, что система вызывает onResume метод Действия B после завершения Действия A.
Как я могу продолжать работать в фоновом режиме, если приложениеначалось с фона?Стоит ли менять флаги намерений действия A?

1 Ответ

0 голосов
/ 12 февраля 2019

В вашем случае вы можете достичь этого двумя способами

1- Из файла манифеста с тегом активности android:noHistory="true"

2- Из кода, когда вы запускаете флаги активности, как показано ниже

Intent mIntent = new Intent(context, Youractivity.class); 
mIntent.setFlags(mIntent.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(mIntent);

Для получения дополнительной информации ссылка для разработчиков

Еще одна вещь, которую вы можете сделать, вместо this.finish() в уведомлении. Активность - использовать this.finishAffinity();.Это закроет приложение вместо того, чтобы выйти на передний план.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...