通过重载onKeyDown方法实现:
private long tempTime = -1;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
// TODO Auto-generated method stub
if((keyCode == KeyEvent.KEYCODE_BACK)&&(event.getAction() == KeyEvent.ACTION_DOWN))
{
if (System.currentTimeMillis() - temptime > 2000) // 2s内再次选择back键有效
{
Toast.makeText(this, "请再按一次返回退出", Toast.LENGTH_LONG).show();
temptime = System.currentTimeMillis();
} else {
finish();
System.exit(0); //凡是非零都表示异常退出!0表示正常退出!
}
return true;
}
return super.onKeyDown(keyCode, event);
}
禁用返回键:
public boolean onKeyDown(int keyCode, KeyEvent event)
{
// TODO Auto-generated method stub
if((keyCode == KeyEvent.KEYCODE_BACK)&&(event.getAction() == KeyEvent.ACTION_DOWN))
{
return false;
}
return super.onKeyDown(keyCode, event);
}