[英]How can I disable click event on Home key in android?
I am Using following method to disable HomeKey click event ,but after Clicking Home key My App will be closed.我正在使用以下方法禁用HomeKey单击事件,但单击 Home 键后,我的应用程序将关闭。 I want ,whenever user click home key my app will not be close.我想要,每当用户单击主页键时,我的应用程序都不会关闭。
@Override
protected void onUserLeaveHint() {
super.onUserLeaveHint();
moveTaskToBack(false);
}
Since Android 4 there is no effective method to deactivate the home button.由于 Android 4 没有有效的方法来停用主页按钮。 That is the reason why we need another little hack.这就是我们需要另一个小技巧的原因。 In general the idea is to detect when a new application is in foreground and restart your activity immediately.一般来说,这个想法是检测新应用程序何时处于前台并立即重新启动您的活动。
Check this workaround: http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/检查此解决方法: http : //www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/
Override the below method in your Activity,在您的活动中覆盖以下方法,
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
And now handle the key event like this,现在像这样处理关键事件,
@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;
}
Put his into your activity's code.将他的放入您的活动代码中。 It will intercept back button click它会拦截返回按钮的点击
@Override
public void onBackPressed() {
}
u can ovverride home button pressed like this:你可以像这样按下主页按钮:
@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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.