[英]Prevent going to parent activity if child has finished
我有某种登录活动,如果登录成功,它会返回到main。 但是之后,如果用户按下硬件“后退”按钮,则主要活动由于某种原因而重新启动...
似乎要进行上一个(登录)活动,但是由于它已经完成,因此父活动将重新启动。
我尝试对清单中的登录活动使用<activity android:noHistory="true">
。 startActivityForResult()
对我来说也不是一个解决方案。 问题仍然存在。
您能帮我其他想法吗?
UPD:回到主要活动时,我正在调用finish()
这可能是因为您在“返回”主界面时尚未完成活动。 检查要创建你的意图,总是做完活动,你不希望通过后退堆栈进行访问。
尝试在每个startActivity()之后使用它
startActivity(intent);//you already have this
finish();//add just this .. and report
不要在onBackPressed()
方法内部调用finish()
。 Android / OS会自动为您完成此操作。
仅在登录正常并且要关闭登录活动时才调用finish()
。 当然,仅当主活动存在于后堆栈中时。
如果后堆栈不包含任何主要活动,请使用通用的startActivity
方法将其打开。 还要检查此答案以从后堆栈中删除活动。
通过在主要活动的onBackPressed()
方法中强制退出整个应用程序来解决问题。 虽然,对我来说这似乎不是一个明确的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.