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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。