当我按下后退按钮时,我的应用程序立即退出,不等待用户确认

时间:2018-03-07 13:05:09

标签: android

当我按下后退按钮时,应用程序立即退出并且不等待用户确认“你确定吗?”

这是我的onbackpressed代码

@Override
public void onBackPressed() {
    super.onBackPressed();

    new AlertDialog.Builder(this)
            .setIcon(android.R.drawable.ic_dialog_alert)
            .setTitle("Closing Application")
            .setMessage("Are you sure you want to close this application?")
            .setPositiveButton("Yes", new DialogInterface.OnClickListener()
            {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    finish();
                    System.exit(0);
                }

            })
            .setNegativeButton("No", null)
            .show();

}

此处有人可以帮助我

3 个答案:

答案 0 :(得分:1)

您需要在对话框出现之前删除super.onBackPressed();

试试这种方式,

@Override
public void onBackPressed() {

    new AlertDialog.Builder(this)
            .setIcon(android.R.drawable.ic_dialog_alert)
            .setTitle("Closing Application")
            .setMessage("Are you sure you want to close this application?")
            .setPositiveButton("Yes", new DialogInterface.OnClickListener()
            {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    super.onBackPressed();
                }

            })
            .setNegativeButton("No", null)
            .show();

}

答案 1 :(得分:1)

删除此行

 super.onBackPressed();

答案 2 :(得分:0)

要从后台删除应用,您也可以使用以下代码。

@Override
public void onBackPressed() {

new AlertDialog.Builder(this)
        .setIcon(android.R.drawable.ic_dialog_alert)
        .setTitle("Closing Application")
        .setMessage("Are you sure you want to close this application?")
        .setPositiveButton("Yes", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                super.onBackPressed();
                moveTaskToBack(true);                          
                android.os.Process.killProcess(android.os.Process.myPid());
                System.exit(1);
            }

        })
        .setNegativeButton("No", null)
        .show();

}