方法一:
Intent intent = new Intent(A.this,B.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
一定要和FLAG_ACTIVITY_NEW_TASK一起使用!
方法二:
Intent intent = new Intent(context,PLoginActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity(intent);
注意这里使用的是addFlags(); 二者的区别是setFlags();会清空原有的Flags设置新的Flags,而addFlags则是添加新的Flags
方法三:
/** *@content:活动结束管理类 *@time:2019-1-29 *@build: */ public class ActivityFinishUtil { private static List<Activity> activityList = new ArrayList<>(); public static void addActivity(Activity activity){ activityList.add(activity); } public static void removeActivity(Activity activity){ activityList.remove(activity); } public static void finishOtherAllActivity(Activity activity){ for (Activity item : activityList){ if (item == activity){ continue; } item.finish(); } } public static void finishAllActivity(){ for (Activity item : activityList){ item.finish(); } } }
此方法只需要在你的基础Activity的onCreate和onDestroy添加对应方法
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(getLayout()); ActivityFinishUtil.addActivity(this); } @Override protected void onDestroy() { super.onDestroy(); ActivityFinishUtil.removeActivity(this); }
本文来自博客园,作者:观心静 ,转载请注明原文链接:https://www.cnblogs.com/guanxinjing/p/10334630.html
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。