猿问

如何检查活动是在前景还是在可见背景中?

如何检查活动是在前景还是在可见背景中?

我在计时器上有一个闪屏。我的问题是,在finish()我的活动之前,我需要检查下一个活动是否已经开始,因为系统对话框弹出,我只想finish(); 一旦用户从对话框中选择了一个选项?

我知道有很多关于如何查看您的活动是否在前台的问题,但我不知道这是否允许在活动之上设置对话框。

这是问题,红色是我的活动,它在后台,而对话在前台:

编辑:我已经尝试过不使用finish()但是我的活动可以回到我试图避免的应用程序堆栈中。


智慧大石
浏览 366回答 3
3回答

德玛西亚99

这正是Activity类文档中描述的活动onPause与onStop事件之间的区别。如果我理解正确,您要做的就是finish()从您的活动中调用onStop以终止它。请参阅活动生命周期演示应用程序的附图。这是它的外观,当活动B从活动A.事件的顺序是从下到上,所以你可以看到,活动一推出像onStop后,活动B被称为onResume已经调用。如果显示对话框,则您的活动在后台变暗并且仅onPause被调用。
随时随地看视频慕课网APP

相关分类

Android
我要回答