码迷,mamicode.com
首页 > 移动开发 > 详细

Android笔记--两种双击退出程序的方法

时间:2016-06-11 17:16:24      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

首先通过onKeyDown获取当前是否是BACK键。如果是进行下一步。

两种方法其中一种是通过对连续点击back键之间的时间进行判断是否是要退出,另一种是设置一个状态值,通过改变状态值来判断是否是要退出。

1.

 1     private  long exitTime=0;//根据连续点击之间时间判断 是否退出
 2 
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.activity_main);
 7 
 8     }
 9 
10     @Override
11     public boolean onKeyDown(int keyCode, KeyEvent event) {
12 
13         if (keyCode==KeyEvent.KEYCODE_BACK){
14             exit();
15             return false;
16         }
17         return super.onKeyDown(keyCode, event);
18     }
19     /*
20     根据点击时间判断
21     */
22 
23     private void exit(){
24         if (System.currentTimeMillis()-exitTime>2000){
25             Toast.makeText(getApplicationContext(),"再点击一次退出",Toast.LENGTH_SHORT).show();
26             exitTime=System.currentTimeMillis();
27         }else {
28             finish();
29             System.exit(0);
30         }
31     }

2.通过handler延迟发送一条信息来改变状态值。

    private static boolean isExit=false;//根据标识判断  是否退出

    Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            isExit=false;
        }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {

        if (keyCode==KeyEvent.KEYCODE_BACK){
            exit();
            return false;
        }
        return super.onKeyDown(keyCode, event);
    }


    /*
      * 1.定义一个标识是否突出
      * */
    private void exit(){
        if (isExit){
            isExit=true;
            Toast.makeText(getApplicationContext(),"再点击一次退出",Toast.LENGTH_SHORT).show();
            //利用handler延迟发送退出状态
            handler.sendEmptyMessageDelayed(0,2000);
        }else {
            finish();
            System.exit(0);
        }
    }

 

Android笔记--两种双击退出程序的方法

标签:

原文地址:http://www.cnblogs.com/yeshuwei/p/5575522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!