如何在android中禁用Home键上的click事件?

时间:2017-01-20 12:03:37

标签: android click android-homebutton

我正在使用以下方法禁用 HomeKey 点击事件,但在点击主页键后,我的应用将被关闭。我想,只要用户点击主页键,我的应用就不会关闭。

@Override
protected void onUserLeaveHint() {
    super.onUserLeaveHint();
    moveTaskToBack(false);
}

4 个答案:

答案 0 :(得分:1)

  

由于Android 4没有有效的方法来停用主页   按钮。这就是我们需要另一个小黑客的原因。一般来说   我们的想法是检测新应用程序何时处于前台和   立即重启您的活动。

检查此解决方法:http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/

答案 1 :(得分:0)

在您的活动

中覆盖以下方法
@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 :(得分:0)

将他加入您的活动代码中。它会拦截后退按钮点击

  @Override
public void onBackPressed() {

}

答案 3 :(得分:0)

你可以像这样按下ovverride主页按钮:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_HOME)) {
        Toast.makeText(this, "You pressed the home button!", Toast.LENGTH_LONG).show();                     
        return true;
    }
    return super.onKeyDown(keyCode, event);
}