1

我试图仅在按下主页按钮时更改布尔值。谁能告诉我一个解决方案?

4

2 回答 2

1

看看 onUserLeaveHint()

当活动由于用户选择而即将进入后台时,作为活动生命周期的一部分调用。例如,当用户按下 Home 键时,会调用 onUserLeaveHint(),但是当有来电导致通话中的 Activity 自动被带到前台时,被中断的 Activity 不会调用 onUserLeaveHint() . 如果调用它,则在活动的 onPause() 回调之前调用此方法。

使布尔变量在内部onUserLeaveHint()为真:

 @Override
    public void onUserLeaveHint() {
                super.onUserLeaveHint();
                //make Boolean true here because this method first  
                //called when user press home key
            }
于 2012-08-10T08:02:42.297 回答
1

您需要覆盖附加到窗口方法。请检查以下代码。

 @Override
 public void onAttachedToWindow() {
 this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
 super.onAttachedToWindow();
 //set your boolean value here
 }
于 2012-08-10T08:21:26.463 回答