通常,当
Android开始被遮挡或隐藏时,Android会在您的Activity上调用onPause,而当它不再显示时会调用onStop.在我的游戏中,我将游戏暂停在onPause中,因此用户在寻找其他地方时不会丢失游戏.
但是,当用户拖动通知栏时,它会覆盖我的Activity,但不会调用onPause和onStop.文档中似乎没有提到这一点.游戏在背景中剔除,没有人看着它.有没有其他方法可以告诉我的Activity在发生这种情况时被遮挡了,所以我可以在用户输掉之前暂停游戏?我在Android开发者网站上找不到任何相关内容.
解决方法
由于
StatusBarManager不是官方API的一部分,我发现不太可能有一种方法来检测它.即使使用反射,也没有一个状态栏类似乎有一个监听器的钩子.
如果可行,你可以deactivate the statusbar.否则,我认为你运气不好:(