如何检测活动是否被遮挡

时间:2018-01-04 03:17:56

标签: android android-activity android-windowmanager android-popupwindow

我想检测是否有任何其他事情会影响我的活动,我尝试使用this Answer但没有成功,任何身体可以帮助我获取通知,当活动被任何其他视图(如脸书聊天头等)遮挡

1 个答案:

答案 0 :(得分:0)

onPause()onUserLeaveHint()可用于根据您的要求进行检查。 让我们理解这些概念。 当活动进入后台时,onPause()被称为活动生命周期的一部分,但尚未被杀死。 onResume()的对应部分。
现在问题来了,这可能发生在用户按下主页或锁定按钮,以处理此扫描。在此onUserLeaveHint()帮助我们决定是否由于某个其他应用的用户而调用onPause()。 当活动即将作为用户选择的结果进入后台时,onUserLeaveHint()作为活动生命周期的一部分被调用。例如,当用户按下Home键时,将调用onUserLeaveHint(),但是当传入的电话呼叫导致调用中的Activity自动被带到前台时,onUserLeaveHint()将不会被调用的活动被调用。在调用它的情况下,在活动的onPause()回调之前调用此方法。

有关详情,请参阅开发人员网站上onPause()onUserLeaveHint()的文档。

希望这会对你有所帮助。