如何在android中监听homebutton
可能重复:如何在android中监听homebutton,android,Android,可能重复: 我使用以下代码来监听按下的主按钮: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { System.out.println(keyCode); if(keyCode == KeyEvent.KEYCODE_HOME) { //do things return true; } return super.onKeyDown(keyCode,
我使用以下代码来监听按下的主按钮:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
System.out.println(keyCode);
if(keyCode == KeyEvent.KEYCODE_HOME) {
//do things
return true;
}
return super.onKeyDown(keyCode, event);
}
为什么没有回应?
我试着显示钥匙代码。
当我按下其他按钮时,它显示keycode。
只需按主页按钮,它就会显示。
如何修改它?另一个选项是,当按下Home按钮时,会调用onStop(),您可以用它编写代码
@Override
protected void onStop()
{
super.onStop();
Log.d(tag, "Home is called");
// insert here your instructions
}
您可能需要将此方法添加到活动中
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
您无法捕获是否按下了home按钮。
onKEyDown()
似乎不适用于home。Android将home按钮的功能与其他按键分开。首选的方法是在用户按HOME键时处理调用活动的onStop()
@Override
protected void onStop()
{
super.onStop();
//put your logic here
}
因为我想在按下“主页”按钮时重置值,但在调用其他活动时不重置值。使用onStop()似乎没有到达吗?@brian:我不确定,但尝试将值设置为final并进一步尝试。brian,尝试覆盖
onUserLeaveHint()
bez在当前活动中用户按Home键时也会调用此方法。因为我想在按下Home按钮时重置值,但如果调用其他活动,则不重置值。使用onStop()似乎没有到达它?无论您打算在哪里启动新活动,都要在它们旁边放置一个布尔标志变量。如果已触发意图代码,它还将使标志tru位于其下方。然后在桌面上检查该标志()检查此链接,