Я обнаружил ошибку в своем приложении, когда оно запускалось с помощью кнопки «Открыть» в приложении Google Play Store (ранее называлось Android рынок). Кажется, что для его запуска из Play Store используется другое намерение
, чем для его запуска из меню значков приложений телефона. Это приводит к запуску нескольких копий одного и того же Activity, которые конфликтуют друг с другом.
Например, , если мое приложение состоит из Activity ABC, то эта проблема может привести к стеку ABCA.
Я пробовал использовать android: launchMode = "singleTask"
для всех действий, чтобы решить эту проблему, но у него есть нежелательный побочный эффект очистки стека действий до корневого при каждом нажатии кнопки HOME.
Ожидаемое поведение: ABC -> HOME -> И когда приложение восстановлено, мне нужно: ABC -> HOME -> ABC
Есть ли хороший способ предотвратить запуск нескольких действий одного и того же типа, без возврата к корневому действию при использовании кнопки HOME?