我想完成应用程序中正在运行的所有 Activity 意味着想从堆栈中删除所有父 Activity 。
我想在我的应用程序中本地实现注销功能,所以我在想,我将完成之前开始的所有 Activity ,然后再次开始登录 Activity ..
最佳答案
我应该让你知道这不是在 android 中推荐的行为,因为你应该让自己管理 Activity 的生命周期。
但是如果你真的需要这样做,你可以使用FLAG_ACTIVITY_CLEAR_TOP
我在这里给你一些示例代码,其中 MainActivity 是应用程序中的第一个 Activity :
public static void home(Context ctx) {
if (!(ctx instanceof MainMenuActivity)) {
Intent intent = new Intent(ctx, MainMenuActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
ctx.startActivity(intent);
}
}
如果你想退出整个应用,你可以使用下面的代码并 checkin MainActivity来完全退出应用:
public static void clearAndExit(Context ctx) {
if (!(ctx instanceof MainMenuActivity)) {
Intent intent = new Intent(ctx, MainMenuActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Bundle bundle = new Bundle();
bundle.putBoolean("exit", true);
intent.putExtras(bundle);
ctx.startActivity(intent);
} else {
((Activity) ctx).finish();
}
}
希望这对您有所帮助。
关于android - 完成 Activity 之前开始的所有 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6211444/