标签:
先看下onBackPressed和onKeyDown的区别
在Android上有两种方法来获取该按钮的事件
1.直接获取按钮按下事件,此方法兼容Android 1.0到Android 2.1 也是常规方法,直接重写Activity的onKeyDown方法即可,代码如下:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) { //按下的如果是BACK,同时没有重复
Toast.makeText(ml78.this,"返回键Back键测试",1).show();
return true;
}
return super.onKeyDown(keyCode, event);
}
而对于Android 2.0开始又多出了一种新的方法,对于Activity 可以单独获取Back键的按下事件,直接重写onBackPressed方法即可,代码如下
@Override
public void onBackPressed() {
// 这里处理逻辑代码,大家注意:该方法仅适用于2.0或更新版的sdk
return;
}
1 现在实现对根Activity按下2此返回键实现退出
private static boolean isSysExit = false; @Override public void onBackPressed() { // TODO Auto-generated method stub if(!isSysExit){ isSysExit = true; DensityUtil.showToast(this, "再按一次退出"); Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { // TODO Auto-generated method stub isSysExit =false; } }, 2000); }else { finish(); } }
2 在根Activity中重写后退按钮响应事件,当按后退按钮的时候把Activity退置到后台
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub //当按下返回键时吧Activity退至到后台 if(keyCode ==KeyEvent.KEYCODE_BACK){ moveTaskToBack(true); return true; } return super.onKeyDown(keyCode, event); }
标签:
原文地址:http://www.cnblogs.com/wangfengdange/p/5235676.html