Дополнительные намерения заставляют детальную активность открываться каждый раз после выхода из приложения последовательными нажатиями - PullRequest
0 голосов
/ 31 октября 2018

У меня следующая последовательность действий:

SplashActivity -> MainActivity -> OrdersActivity -> OrderActivity

SplashActivity - это программа запуска. Он проверяет, имеет ли намерение дополнительный с именем «orderId». Если существует, он запускает OrderActivity с этим orderId и завершает сам. В противном случае он запускает MainActivity и завершает сам.

Когда с сервера приходит уведомление, он имеет дополнительный идентификатор. Поэтому при каждом нажатии уведомления запускается SplashActivity и запускается OrderActivity.

Моя проблема заключается в следующем: после открытия OrderActivity последовательно нажимаю кнопку возврата, пока не появится главный экран. Поток выглядит следующим образом:

OrderActivity -> OrdersActivity -> MainActivity -> Главный экран

Когда я нажимаю на свернутое приложение, я ожидаю, что меня перенаправят на MainActivity, однако я снова вижу OrderActivity. Это означает, что хотя я и завершаю SplashActivity программно при первом открытии, цель, исходящая от щелчка уведомления, остается неизменной, сохраняя orderId, пока я полностью не закрою приложение. Поэтому каждый раз, когда я выводю передний план приложения из свернутого списка приложений, SplashActivity получает это намерение вместе с orderId, полученным из уведомления.

Как я могу показать детали заказа (OrderActivity) только один раз, а затем перейти к MainActivity в следующих -софт-запусках из свернутого списка приложений?

ОБНОВЛЕНИЕ: getIntent().removeExtra("orderId") прямо перед finish() в SplashActivity не работает.

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