我在我的应用程序中,我有控制后退按钮,但我也想控制主页按钮。我写了代码,但我无法控制HOME按钮。这是我的代码。帮助我实现它。
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK )
{
return false;
}
else if (keyCode == KeyEvent.KEYCODE_HOME)
{
return false;
}
return super.onKeyDown(keyCode, event);
}
答案 0 :(得分:7)
您无法覆盖主屏幕功能,此功能可让应用程序将用户锁定在手机外。
答案 1 :(得分:3)
此解决方案适用于2.1,
好吧,这应该是一个难题。但这是破解它的一种方法。
在您的活动
中覆盖以下方法@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
现在处理这样的关键事件,
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME)
{
Log.i("Home Button","Clicked");
}
if(keyCode==KeyEvent.KEYCODE_BACK)
{
finish();
}
return false;
};
答案 2 :(得分:2)
根据Android核心概念,任何应用程序都不能改变Home
按钮的行为。
这可能无法实现您的目标。
修改强>
您可以尝试对一个Home Screen Launcher
进行编码,这样当用户按下主页按钮时,他们就可以转到您的Home Launcher。