【发布时间】:2016-02-27 19:43:55
【问题描述】:
我有一个具有以下流程的应用(同一应用中的所有活动):
- 活动 A 以
startActivity启动活动 B。它可能会额外添加一个布尔值“autoContinue”=true。 - 当活动 B 开始时,它会检查
onCreate中的“autoContinue”标志和getIntent().hasExtra("autoContinue")。如果标志为真,它会立即使用startActivity启动活动 C。
现在我有两种情况可以在活动 C 中按下后退按钮:
- 如果活动 B 仍在活动堆栈中并且没有被销毁,则一切正常。活动 C 关闭,活动 B 进入视野。
- 如果我通过按主页按钮离开活动 C 并在返回活动 C 之前做一些其他事情,活动 B 通常会被破坏。现在,当我在活动 C 中按下后退按钮时,将使用具有“autoContinue”=true 的 Intent 创建活动 B,并立即再次启动活动 C。
我尝试从活动 B 的 onCreate 中的 Intent 中删除标志,但它不起作用:
final Intent intent = getIntent();
final Bundle extras = intent.getExtras();
if (extras.containsKey("autoContinue")) {
intent.removeExtra("autoContinue");
continue();
}
从活动 C 导航返回时,如何从 Intent Extras 中删除“autoContinue”=true 标志?
【问题讨论】:
标签: android android-intent android-activity activity-stack