**功能1:**如何获取当前活动的名字
写
public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
Log.d("BaseActivity",getClass().getSimpleName());
}
}
然后让其他所有活动 继承BaseActivity 即可, 其他活动在运行的时候,日志会自动获取活动名并打印
如果要想实现想在一个程序的任意活动里,退出程序(而不用一步步返回上一个程序再退出)
新建类ActivityCollector
public class NormalActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.normal_layout);}
}
BaseActivity
public class BaseActivity extends AppCompatActivity {
@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);
}
}
内容大概就是,继承BaseActivity的活动A,在被创建的时候,即onCreate的时候会通过addActivity方法
被添加到List activities中, 在A被销毁的话,会执行removeActivity 从List 集合中删除
比如我们想在 FirstActivity中直接退出
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityCollector.finishAll();
}
});