Android中点击Back返回键退出应用

2019-07-11  本文已影响0人  我挺平凡
    private long mExitTime;

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        //判断用户是否点击了“返回键”
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            //与上次点击返回键时刻作差
            if ((System.currentTimeMillis() - mExitTime) > 2000) {
                //大于2000ms则认为是误操作,使用Toast进行提示
                ToastUtil.show("再按一次退出程序");
                //并记录下本次点击“返回键”的时刻,以便下次进行判断
                mExitTime = System.currentTimeMillis();
            } else {
                //小于2000ms则认为是用户确实希望退出程序-调用System.exit()方法进行退出
                SUtil.removeAllActivity();
            }
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    /* 存储所有存活的 Activity */
    private static List<Activity> mActivityList = new LinkedList<Activity>();

    //这是删除所有Activity的
    public static void removeAllActivity(){
        List<Activity> activityList = getActivityList();
        for (Activity activity : activityList) {
            activity.finish();
        }
        mActivityList.removeAll(activityList);
    }
上一篇下一篇

猜你喜欢

热点阅读