Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我目前检查我的活动的焦点是否已经改变onWindowFocusChanged()(例如,按下主页按钮或它已切换到不同的活动),如果有,我会调用finish()它。我的问题是,我只希望它在按下主页按钮或其他活动已开始使用的情况下工作startActivity(),但是像警报对话框之类的东西可能会导致焦点改变并因此完成活动。如何仅在按下主页按钮或使用启动另一个活动时才完成活动startActivity(),而不是在出现对话框之类的东西时才完成?
onWindowFocusChanged()
finish()
startActivity()
如果你打电话finish(),那将在它不再可见时onStop()摧毁你。Activity标准对话框只会onPause()被调用。在活动生命周期事件发生时记录它们,您可以检查哪些操作触发了它们。
onStop()
Activity
onPause()