应用退出的几种方式

介绍:

在各家app的退出机制中,一般如三种退出机制:退回桌面(实际并没有退出),弹出退出确认框,连续两次返回键退出。

实现方案:

1.退回桌面

    @Override
    public void onBackPressed() {
        goBackToDesktop();
    }

    /**
     * 用户在主界面,按返回键直接返回桌面,而不退出
     */
    private void goBackToDesktop() {
        Intent home = new Intent(Intent.ACTION_MAIN);
        home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        home.addCategory(Intent.CATEGORY_HOME);
        startActivity(home);
    }

image

2.弹出退出确认框

    public void onBackPressed() {
        showExitConfirmDialog();
    }
    /**
     * 用户在主界面按返回键,会弹出退出确认框
     */
    private void showExitConfirmDialog() {
        new AlertDialog.Builder(this)
                .setTitle("确认退出")
                .setPositiveButton("确认", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        finish();
                    }
                })
                .setNegativeButton("取消", null)
                .show();
    }

image

3.连续两次返回键退出

    private long exitTime = 0;   
    public void onBackPressed() {
        doubleBackQuit();
    }
    /**
     * 连续按两次返回键,退出应用
     */
    private void doubleBackQuit()
    {
        if (System.currentTimeMillis() - exitTime > 2000) {
            Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
            exitTime = System.currentTimeMillis();
        } else {
            finish();
        }
    }

你可能感兴趣的:(应用退出的几种方式)