Android 如何在返回时关闭 运行 应用程序?

Android how to close a running app on back press?

如何在 main activity 后退时退出应用程序? 我正在使用这段代码,但它完成了主要 activity 并显示了来自后台堆栈的其他活动。

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

试试这个

@override
public void onBackPressed(){
Intent a = new Intent(Intent.ACTION_MAIN);
a.addCategory(Intent.CATEGORY_HOME);
a.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(a);
}

你也可以试试这个,

@Override
    public void onBackPressed() {
       int pid = android.os.Process.myPid();
       android.os.Process.killProcess(pid);    
}

您好,尝试在 onBackPressed 中添加此代码:

getActivity().finish();
System.exit(0);

你可以试试这个:

@Override
    public void onBackPressed() {
        // TODO Auto-generated method stub

        new AlertDialog.Builder(Activityname.this)
        .setTitle("Title")
        .setMessage("Do you really want to exit?")
        .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) { 
                ActivityCompat.finishAffinity(Activityname.this);
                finish();   
            }
        })
        .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) { 
                dialog.dismiss();
            }
        })
        .setIcon(android.R.drawable.ic_dialog_alert)
        .show();

    }

希望能解决您的问题

Already asked。最受欢迎的答案:

getActivity().finish();
System.exit(0);

您可以使用

android:noHistory="true" 在 activity 标签下的清单中,像这样

    <activity 
        android:name=".MainActivity"
        android:noHistory="true">
    </activity>

我尝试了这个,它对我来说真的很好,因为我正在开发应用程序,一旦会话过期,用户只能看到很少的视图并保持隐藏状态。

    @Override
    public void onBackPressed() {
        moveTaskToBack(true);
    }

试试这个,

Intent intent = new Intent(UserProfile.this, Login.class)
                            .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();

尝试 public void onBackPressed() { finish(); Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); finish(); }

使用 finish();从一个 activity 迁移到另一个

之后
@Override
public void onBackPressed() {

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("Are you sure you want to Exit ?")
            .setCancelable(false)
            .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    moveTaskToBack(true);
                }
            })
            .setNegativeButton("No", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    dialogInterface.cancel();
                }
            });
    AlertDialog alertDialog = builder.create();
    alertDialog.show();
}