删除除 home activity 之外的所有先前活动
Remove all the previous activites except home activity
如何删除除 HomeActivity 之外的所有活动。
例如:
A(HomeActivity)->B->C->D
现在再次调用 B activity 删除 C & D 活动。我正在通过意图将一些数据从 D activity 发送到 B activity。我有下一步按钮,如果我点击下一步按钮,那么这个过程就会完成。如果我反击,那么我的过程将是 D->C->B->A
那么你需要在 C 和 D 中创建 static activity
变量 activity。
就这样
//create static variable
public static CActivity cactivity;
然后在Activity
的onCreate
初始化这个变量。
//initialization
cactivity=this;
在你想要的地方activity
完成
// use this where you want to finish activity
CActivity.cactivity.finish();
确保 Activity
必须在后台 运行 否则你的应用程序会崩溃。
我建议的是一个不太顺利的解决方案,但不是为所有这些开始活动,而是用 startActivityForResult 代替它们,搜索结果代码,如果它是从 activity (这当然是你自己处理的)然后用结果代码调用所有 activity 完成,直到你到达你的家 activity.
当您从 D->B 出发时,请使用 intent.setFlag(Intent.FLAG_ACTIVITY_CLEAR_TOP);
它将关闭其之上的所有其他活动,并且此 Intent 将作为新 Intent 传递给(现在位于顶部)旧 activity。
如何删除除 HomeActivity 之外的所有活动。
例如: A(HomeActivity)->B->C->D 现在再次调用 B activity 删除 C & D 活动。我正在通过意图将一些数据从 D activity 发送到 B activity。我有下一步按钮,如果我点击下一步按钮,那么这个过程就会完成。如果我反击,那么我的过程将是 D->C->B->A
那么你需要在 C 和 D 中创建 static activity
变量 activity。
就这样
//create static variable
public static CActivity cactivity;
然后在Activity
的onCreate
初始化这个变量。
//initialization
cactivity=this;
在你想要的地方activity
完成
// use this where you want to finish activity
CActivity.cactivity.finish();
确保 Activity
必须在后台 运行 否则你的应用程序会崩溃。
我建议的是一个不太顺利的解决方案,但不是为所有这些开始活动,而是用 startActivityForResult 代替它们,搜索结果代码,如果它是从 activity (这当然是你自己处理的)然后用结果代码调用所有 activity 完成,直到你到达你的家 activity.
当您从 D->B 出发时,请使用 intent.setFlag(Intent.FLAG_ACTIVITY_CLEAR_TOP);
它将关闭其之上的所有其他活动,并且此 Intent 将作为新 Intent 传递给(现在位于顶部)旧 activity。