双击,弹出对话框退出App

来源:互联网 发布:天涯明月刀数据异常 编辑:程序博客网 时间:2024/05/17 22:51

1.双击退出APP

重写Activity的onBackPressed()方法

    @Override    public void onBackPressed() {        new AlertDialog.Builder(this).setTitle("退出程序").setMessage("确定退出?")                .setPositiveButton("确定", new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialogInterface, int i) {                        System.exit(0);                    }                })                .setNegativeButton("取消", new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialogInterface, int i) {                        dialogInterface.dismiss();                    }                })                .show();    }

效果图

2.双击退出(弹出吐司)

  private long firstTime = 0;    @Override    public boolean onKeyUp(int keyCode, KeyEvent event) {        switch(keyCode)        {            case KeyEvent.KEYCODE_BACK:                long secondTime = System.currentTimeMillis();                if (secondTime - firstTime > 2000) {  //如果两次按下退出键的时差超过了两秒                    Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();                    firstTime = secondTime;//更新firstTime                    return true;                } else { //两次按下的时间差小于两秒时                    //退出app                    System.exit(0);                }                break;        }        return super.onKeyUp(keyCode, event);    }

效果图

3.双击退出(弹出SanckBar)

1.在app的gradle中添加  compile 'com.android.support:design:25.0.1'2.在activity中添加以下代码  private long firstTime = 0;    @Override    public boolean onKeyUp(int keyCode, KeyEvent event) {        switch(keyCode)        {            case KeyEvent.KEYCODE_BACK:                long secondTime = System.currentTimeMillis();                if (secondTime - firstTime > 2000) {  //如果两次按下退出键的时差超过了两秒                    //main可以使这个activity中的任意一个view                    Snackbar.make(main, "再次点击退出程序", Snackbar.LENGTH_LONG).show();                    firstTime = secondTime;//更新firstTime                    return true;                } else { //两次按下的时间差小于两秒时                    //退出app                    System.exit(0);                }                break;        }        return super.onKeyUp(keyCode, event);    }

效果图

1 0
原创粉丝点击