完成所有活动的关闭按钮

A close button that finishes all activities

我的 android 应用程序中有 5 个活动,最后一个 activity 我想要一个关闭按钮,通过一个一个地完成每个 activity 来退出应用程序?

在您的 onclick 侦听器中写入此内容。它将关闭应用程序。

System.exit(0);

您是否考虑过调用 startActivityForResult 并在 onActivityResult 中检查正确的代码和结果并调用 finish

使用下面的代码

Intent intent = new Intent(this, YourActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//this will clear all the stack
intent.putExtra("sometext", true);
startActivity(intent);
finish();

然后在 onCreate() 的 YourActivity 中写下行

if( getIntent().getBooleanExtra("sometext", false)){
    finish();
    return; // it will take you out
}

您可以执行后续步骤:

在要退出的 activity 处执行以下操作:

Intent intent = new Intent(this, RootActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//this will clear all the stack
intent.putExtra("extra_exit", true);
startActivity(intent);
finish();

并在 RootActivity.class 的 onCreate 和 onNewIntent 中:

public void onCreate(Bundle savedInstance){
    ...
    if(!checkExtraToExit(intent)){
        //do activity initialization
        ...
    }
    ...
}

public void onNewIntent(Intent intent){
    if(!checkExtraToExit(intent)){
        super.onNewIntent(intent);
    }
} 

public boolean checkExtraToExit(Intent intent){
    if( intent.getBooleanExtra("extra_exit", false)){
        finish();
        return true;
    }
    return false;
}