Android中通过双击返回键退出应用
在Android应用程序,经常可以通过双击返回键退出应用程序,例如QQ空间。下面将通过代码演示该过程。
1.设置退出标志符号
boolean isExist=false;默认为fasle
2.覆写onKeyDown()方法
监听Back键,当keyCode==KeyEvent.KEYCODE_BACK,则执行将isExist设置为ture,当第二次按back键时,应用程序退出,但两次时间间隔需要在一定时间内。
1 @Override 2 public boolean onKeyDown(int keyCode, KeyEvent event) { 3 if(keyCode==KeyEvent.KEYCODE_BACK){ 4 if(!isExist){ 5 isExist=true; 6 Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); 7 handler.sendEmptyMessageDelayed(0,2000); 8 return false; 9 } 10 else{ 11 Intent intent=new Intent(Intent.ACTION_MAIN); 12 intent.addCategory(Intent.CATEGORY_HOME); 13 startActivity(intent); 14 System.exit(0); 15 } 16 } 17 return super.onKeyDown(keyCode, event); 18 }
3.设置Handler对象
1 private Handler handler=new Handler(){ 2 public void handleMessage(android.os.Message msg) { 3 isExist=false; //取消退出标志位 4 }; 5 };
4.基本思想
当在当前Activity下,按下Back键,onKeyDown()中获取事件,识别是否是Back键,如果是Back键,则将退出标志isExist设置为true,然后启动handler.sendEmptyMessageDelayed()方法,2秒后发送一个消息队列,在消息处理方法中,将标志isExist设置为false。如果在2秒内又按下Back键,则退出应用程序。
时间: 2024-11-07 08:47:03