由于客户的要求,需要屏蔽返回键,程序退出的功能,但由于程序始终需要一个退出方式,所以我使用长按返回键退出来实现。
刚开始在网上找了在onKeyDown里面实现。但是发觉在真机里面,虽然我长按了返回键能使程序不显示,但是不能让程序退出。
public boolean onKeyDown(int kCode, KeyEvent kEvent) {
switch (kCode) {
case KeyEvent.KEYCODE_DPAD_LEFT: {
return true;
}
case KeyEvent.KEYCODE_DPAD_UP: {
return true;
}
case KeyEvent.KEYCODE_DPAD_RIGHT: {
return true;
}
case KeyEvent.KEYCODE_DPAD_DOWN: {
return true;
}
case KeyEvent.KEYCODE_DPAD_CENTER: {
return true;
}
case KeyEvent.KEYCODE_BACK: {
return false;
}
}
return super.onKeyDown(kCode, kEvent);
}最后经过修改,实现长按实现程序彻底退出的功能public boolean dispatchKeyEvent(KeyEvent event)
{
int keyCode=event.getKeyCode();
switch(keyCode)
{
case KeyEvent.KEYCODE_BACK: {
if(event.isLongPress())
{
this.stopService(intent);
System.exit(0);
return true;
}else
{
boolean flag=false;
return flag;
}
}
}
return super.dispatchKeyEvent(event);
}
本文介绍了一种在应用程序中屏蔽返回键并实现长按退出的方法。通过重写dispatchKeyEvent方法,检测到长按时执行系统退出操作,解决了直接屏蔽返回键导致应用无法正常关闭的问题。
2195

被折叠的 条评论
为什么被折叠?



