Очистите, пока корневая активность на push -уведомлении Нажмите, если существует задача, или создайте новую задачу. РазмAndroid

Форум для тех, кто программирует под Android
Anonymous
Очистите, пока корневая активность на push -уведомлении Нажмите, если существует задача, или создайте новую задачу. Разм

Сообщение Anonymous »

У меня есть MainActivity, которая имеет Main -Filters и набор запуска. В основном это приложение, основанное на деятельности, за исключением нескольких экранов SDK, которые открываются в отдельной деятельности. Когда push -уведомление Tap Opens Opens App от убитого штата. В этом состоянии, если я помесчу приложение на фоновое значение, используя кнопку «Домой» и попытаюсь открыть приложение, используя запуск Android (Recents работает правильно), новая магистратность нажимается на вершине. Таким образом, стек становится MainActivity -> MainActivity. Я могу исправить это, сделав систему запуска в Singletop. Но что, если пользователь откроет еще одно действие от SDK в этом случае и ставит приложение на фоновое представление? MainActivity -> ChatActivity? < /P>

Код: Выделить всё

val intent = Intent(this, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP)
< /code>
Вариант 2, установите все свойства, например, как это делает запуск Android, это решает проблему, о которой я упоминал выше. Даже синглеп не требуется. < /P>
val intent = Intent(this, MainActivity::class.java)
intent.setAction(Intent.ACTION_MAIN)
intent.addCategory(Intent.CATEGORY_LAUNCHER)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED)
< /code>
Мой вопрос, безопасно ли 2 для использования во всех устройствах Android? Почему Android Launcher выдвигает новую MainActivity, если уже есть задача с действием, задача, запущенная с использованием уведомления, ожидающих намерения, даже если у обоих есть Flag Flag_ACTIVITION_NEW_TASK 
SET?

Подробнее здесь: https://stackoverflow.com/questions/795 ... eate-new-t

Вернуться в «Android»