解决2个Activity互相跳转,并且栈中只保留每个Activity一个对象的存在。
在2个Activity中分别都要用到onActivityResult,所以就不能用launchMode="singleTask"。如:http://www.cnblogs.com/tt_mc/p/3586834.html
解决办法:
在Activity中onCreate中把该Activity加入一个集合中,然后在相互跳转之前,对要跳转的Activity在集合中进行过滤,如果有就finish掉就可以了。
关闭方法:
1 public static void closeSingleActivity(Class act) { 2 for(Activity act0 : mStackActList) { 3 if(act0 != null && act0.getClass() == act) 4 act0.finish(); 5 } 6 }
关闭操作:
1 public void mToMapClick(View view) { 2 MApplication.closeSingleActivity(DistributionMapAct.class); 3 Intent intent = new Intent(mContext, DistributionMapAct.class); 4 intent.putExtra("mDirectionMap", mExtrasMap); 5 startActivity(intent); 6 }