继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

几种退出安卓应用的方式:退回桌面,弹出退出确认框,连续两次返回键退出

慕姐8265434
关注TA
已关注
手记
粉丝 222
获赞 1065

介绍:

在各家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);
    }

webp

image.gif

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();
    }

webp

image.gif

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();
        }



作者:程序园中猿
链接:https://www.jianshu.com/p/366fc6de7101


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP