Android从入口Activity到多级的Activity,最后再跳转到入口的Activity,这时候按下返回键返回

参考郭霖的《第一行代码》里面提到的 随时随地退出程序 79页,代码不是很复杂但是确实很常用写下来给大家看看


//新建一个 ActivityCollector 类作为活动管理器,代码如下所示:
public class ActivityCollector {
    
    
public static List<Activity> activities = new ArrayList<Activity>();
public static void addActivity(Activity activity) {
    
    
activities.add(activity);
}
 
 
public static void removeActivity(Activity activity) {
    
    
activities.remove(activity);
}
public static void finishAll() {
    
    
for (Activity activity : activities) {
    
    
if (!activity.isFinishing()) {
    
    
activity.finish();
}
}
}

写在activity基类里面


public class BaseActivity extends Activity {
    
    
@Override
protected void onCreate(Bundle savedInstanceState) {
    
    
super.onCreate(savedInstanceState);
Log.d("BaseActivity", getClass().getSimpleName());
ActivityCollector.addActivity(this);
}
@Override
protected void onDestroy() {
    
    
super.onDestroy();
ActivityCollector.removeActivity(this);
}

在act里因哟哪个

添加的时候,在activity的onCreat()里
ActivityCollector.addActivity(this);

在Act需要移除的情况,可以在onStop()周期里添加(操作时机看个人需求),离开页面的时候
ActivityCollector.removeActivity(this);
ActivityCollector.finishAll(this);

猜你喜欢

转载自blog.csdn.net/ShiXinXin_Harbour/article/details/113309086