2

我有一个包含 3 个活动的应用程序 - 让我们称它们为 A、B 和 C。从活动 A 您可以访问活动 B、从 B 到 C 以及从 C 到 A(通过按后退按钮)。

在活动 AI 上有一个退出按钮(我知道它在 android 上不推荐,但很多用户都在要求它,所以我决定添加它)。

无论如何,问题在于:活动 B 有一个计时器,当计时器完成时,它会启动一个启动活动 C 并在活动 B 上调用 finish() 的意图。

当用户然后按回活动 C 时,他会进入活动 A - 然后当他按下退出按钮(此按钮仅执行完成())时,它会再次弹出活动 B。我怎样才能防止它发生?

谢谢!

4

3 回答 3

2

想法:将isFinished您的字段设置Application为 true 并调用finish(). 所有活动都检查是否isFinished在 their 中onResume(),如果为真,则在 they中检查finish()

于 2011-12-09T20:10:43.743 回答
1

我不确定我是否理解您从 C 返回时如何在 A 结束。它不应该返回 B(从逻辑上讲,我的意思是。我知道您希望它转到 A)?事实上,这似乎是正在发生的事情。B 正在重新启动,但 A 出现在它的顶部,所以当你完成 A 时,现在会显示 B(它在它下面)。

听起来您不希望 B 成为历史堆栈的一部分,所以也许当您启动 B 时,您应该使用no history 标志启动它。

于 2011-12-09T20:36:14.493 回答
0

你的活动 b 没有完成,我可以弄清楚它仍然处于运行状态,所以当所有其他活动完成时,它会显示,请检查它是否完成

于 2011-12-21T11:52:48.420 回答