知晓当前在哪个活动
新建一个Java Class:BaseActivity,并让它继承AppCompatActivity
接下来重写onCreate(),可以看到通过getClass().getSimpleName()打印了当前实例的类名:
接下来只要分别让FirstActivity等不再继承AppCompatActivity,而是继承BaseActivity,那么就能知晓当前界面对应的是哪个活动了
1 | public class BaseActivity extends AppCompatActivity { |
随时随地的退出程序
有时候会发现退出程序需要按好多次Back键。按Home键也只是把程序挂起,并没有退出程序,因此我们需要一个随时随地都能退出程序的方案
思路:需要用一个专门的集合类对所有的活动进行管理
1 | public class ActivityCollector { |
接下来修改BaseActivitiey的代码
1 | public class BaseActivity extends AppCompatActivity { |
这样BaseActivity就会将活动添加或移除到活动管理器里,如果想要退出程序,只需要调用ActivityCollector.finishAll()即可。
例如前面的例子从Activity1跳转到Activity2,再从2跳到3,要退出程序需要返回3次,现在只需要在Activity3中重写onBackPressed()在里面调用刚才的finishAll()
1 |
|
为了确保程序完全退出,还可以再加一句代码杀掉进程:
1 | android.os.Process.killProcess(android.os.Process.myPid()); |