2.6.1 知晓当前是哪一个活动
新创建一个继承于AppcompatActivity的类BaseActivtiy
让活动继承于BaseActivtiy,所有活动的性能不受影响。
每当我们进入一个活动时它的类名会打印出来,所以我们就可以知晓当前是哪一个活动。
2.6.2随时随地退出活动
1.新建一个ActivityCollector类作为活动管理器
package com.example.activitytest;
import android.app.Activity;
import java.util.ArrayList;
import java.util.List;
public class ActivityCollector {
public static List<Activity> activities = new ArrayList<>();
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();
}
}
}
}
2.修改baseacitivity中的代码
package com.example.activitytest;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
public class BaseActivity extends AppCompatActivity{
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("BaseAtivtiy",getClass().getSimpleName());
ActivityCollector.addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}
}
3.
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.d("ThirdActivity","Task id is" + getTaskId());
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_third);
Button button3 = (Button) findViewById(R.id.button_3);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityCollector.finishAll();
}
});
}
4.