Я столкнулся с ошибкой в своем приложении, когда он запущен с помощью кнопки «Открыть» на рынке Android. Кажется, что запуск с рынка использует другое намерение, а затем запускает его из меню приложений телефона. Это приводит к появлению нескольких копий того же самого действия, которые противоречат друг другу.Как предотвратить несколько экземпляров активности при ее запуске с различными намерениями
Например, Если мое приложение состоит из действий A-B-C, то вышеуказанная проблема может привести к стеку A-B-C-A.
Я попытался использовать android:launchMode="singleTask"
во всех действиях по устранению этой проблемы, но у него есть нежелательный побочный эффект очистки стека активности от root, когда я нажимаю HOME.
Пример: ABC -> HOME -> A, когда мне нужен ABC -> HOME -> ABC
Есть хороший способ, чтобы предотвратить запуск нескольких мероприятий одного и того же типа без переустановку к корню активность при использовании HOME?
Я думал об этом, но что, если активность не находится в верхней части стека? Например, кажется, что singleTop предотвратит A-A, но не A-B-A. – bsberkeley 2010-12-03 01:23:36
Можете ли вы достичь того, чего хотите, используя методы SingleTop и Finishing в Activity? – elevine 2010-12-03 01:37:20
Я не знаю, выполнит ли он то, что я хочу. Пример: Если я нахожусь в действии C после появления A и B, тогда запускается новый актив A, и у меня будет что-то вроде C-A, не так ли? – bsberkeley 2010-12-03 06:02:52