我有一个具有以下流程的应用程序(同一应用程序中的所有活动):
- 活动 A 以 开始活动
startActivity
B。它可能会额外添加一个布尔值“autoContinue”=true。 - 当活动 B 开始时,它会检查 "autoContinue"标志
onCreate
。getIntent().hasExtra("autoContinue")
如果标志为真,它会立即以startActivity
.
现在我有两种情况可以在活动 C 中按下后退按钮:
- 如果活动 B 仍在活动堆栈中并且没有被销毁,那么一切都很好。活动 C 关闭,活动 B 进入视野。
- 如果我通过按主页按钮离开活动 C 并在返回活动 C 之前做一些其他事情,活动 B 通常会被破坏。现在,当我在活动 C 中按下后退按钮时,将使用具有“autoContinue”=true 的 Intent 创建活动 B,并立即再次启动活动 C。
我尝试从活动 B's 的 Intent 中删除标志onCreate
,但它不起作用:
final Intent intent = getIntent();
final Bundle extras = intent.getExtras();
if (extras.containsKey("autoContinue")) {
intent.removeExtra("autoContinue");
continue();
}
从活动 C 导航返回时,如何从意图附加内容中删除“autoContinue”=true 标志?