“再按一次返回键退出程序”实现

来源:互联网 发布:马原人工智能与意识 编辑:程序博客网 时间:2024/06/06 11:36

“再按一次返回键退出程序”实现

问自己一个为什么?

每个app中都有退出这个响应,android是通过按“返回键”退出程序;在用户使用app时不免会出现一些“误操作”按了一下返回键,退出了程序,这样的用户体验是不友好的。

所以,就有必要对返回键进行判断,判断用户是否要退出。一般我们的判断条件是2s内按下返回键俩次就退出程序。

思路导析

在第一次按下“back”键时记录下当前系统时间存储在变量“exittime”;在第二次按下时,将当前系统时间与“exittime”比较,如果小于2秒就退出程序,反之,将当前时间存储于“exittime”。

代码实现

 private long exittime = 0;    @Override    public void onBackPressed() {            if (System.currentTimeMillis() - exittime < 2000){                super.onBackPressed();            }else {                Mytools.ShowToast(MainActivity.this,getString(R.string.string_exit));                exittime = System.currentTimeMillis();            }        }    }

代码扩展实现

加入了判断抽屉的状态

private long exittime = 0;    @Override    public void onBackPressed() {        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        if (drawer.isDrawerOpen(GravityCompat.START)) {            drawer.closeDrawer(GravityCompat.START);        } else {            if (System.currentTimeMillis() - exittime < 2000){                super.onBackPressed();            }else {                Mytools.ShowToast(MainActivity.this,getString(R.string.string_exit));                exittime = System.currentTimeMillis();            }        }    }
0 0
原创粉丝点击