如果孩子已经完成,则阻止进入父活动

时间:2015-04-21 23:02:48

标签: java android android-activity

我有某种登录活动,如果登录成功则返回main。但在那之后,如果用户按下硬件“后退”按钮,主要活动由于某种原因重新启动...
它似乎是前一个(登录)活动,但由于它已经完成,因此重新启动父活动。
我尝试在清单中的登录活动中使用<activity android:noHistory="true">startActivityForResult()对我来说也不是解决方案。问题依然存在。

你能帮我解决一下其他想法吗?

UPD:我回到主要活动时调用finish()

4 个答案:

答案 0 :(得分:0)

这可能是因为当您“返回”时,您尚未完成活动。主要的。检查您创建意图的位置,始终完成您希望通过后台访问 的活动。

答案 1 :(得分:0)

尝试在每个startActivity()

之后使用它
startActivity(intent);//you already have this
finish();//add just this .. and report

答案 2 :(得分:0)

请勿在{{1​​}}方法中调用finish()。 Android / OS会自动为您完成。

仅限呼叫onBackPressed()如果登录正常并且您想要关闭登录活动。当然只有主要活动存在于后台。

如果后台堆栈不包含主要活动,请使用通用finish()方法将其打开。同时检查this answer以从后台堆栈中删除活动。

答案 3 :(得分:0)

通过在主要活动的onBackPressed()方法中强制退出整个应用程序来解决问题。虽然,对我来说这似乎不是一个明确的解决方案。