当我的应用程序使用 Google Play Store 应用程序(以前称为 Android Market)上的 “打开”按钮启动时,我遇到了一个 bug。似乎从 Play Store 启动它使用了不同的 Intent
,而不是从手机的应用程序图标菜单启动它。这将导致启动同一个活动的多个副本,这些副本彼此冲突。
例如, 如果我的应用程序包含活动 A-B-C,那么这个问题可能导致堆栈的 A-B-C-A。
我尝试在所有的活动中使用 android:launchMode="singleTask"
来修复这个问题,但是它有一个不想要的副作用,那就是每当我点击 HOME 按钮时,都会清除活动堆栈到根目录。
预期的行为是: A-B-C-> HOME-> 当应用程序恢复时,我需要: A-B-C-> HOME-> A-B-C
有没有一个好的方法可以防止启动多个相同类型的活动,而不会在使用 HOME 按钮时重置为根活动?