重写onCreate()方法,添加下面代码,打印当前Activity名称:
@OverridePRotected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity", getClass().getSimpleName());}增加ActivityCollector,管理Activity,代码如下:
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(); } } }}修改BaseActivity类,代码如下:
public class BaseActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity", getClass().getSimpleName()); ActivityCollector.addActivity(this); } @Override protected void onDestroy() { super.onDestroy(); ActivityCollector.removeActivity(this); }}其他Activity继承BaseActivity。2.继承BaseActivity,添加actionStart()方法
public class SecondActivity extends BaseActivity { public static void actionStart(Context context, String data1, String data2) { Intent intent = new Intent(context, SecondActivity.class); intent.putExtra("param1", data1); intent.putExtra("param2", data2); context.startActivity(intent); }}这样写的好处,启动SecondActivity时,知道需要传递哪些参数,启动代码如下:
SecondActivity.actionStart(FirstActivity.this, "data1", "data2");
新闻热点
疑难解答