首页 > 代码库 > Android技术23:Android使用返回键退出实现

Android技术23:Android使用返回键退出实现

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键,则退出应用程序。 

Android技术23:Android使用返回键退出实现