1.在实际开发中,咱们常常会遇到查看当前Activity叫什么名字,是哪一个类,当咱们去翻阅别的的代码时,真是头疼,因此可已在项目的BaseActivity中写一个获得Activity名称的方法,继承这个Base的Activity的名字都会被打印出来,以下android
public class BaseActivity extends AppCompatActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e("className:", getActivityName()); } private String getActivityName() { return getClass().getSimpleName(); } }
运行结果:ide
2.在开发中可能会遇到随时随地退出程序的时候,这时候该怎么处理呢,能够写一个Activity的管理类,想退出时,依次finish掉Activitythis
public class ActivityControler { private static List<Activity> activityList = new ArrayList<>(); //添加Actiivty public static void addActiivty(Activity activity) { activityList.add(activity); } //删除Activity public static void removeActivity(Activity activity) { activityList.remove(activity); } //退出程序时逐个关闭 public static void removeAllActivity() { if (!activityList.isEmpty()) { for (Activity activity : activityList) { if (!activity.isFinishing()) activity.finish(); } } } }
而后在BaseActivity生命周期中作添加和删除操做spa
public class BaseActivity extends AppCompatActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e("className:", getActivityName()); } private String getActivityName() { return getClass().getSimpleName(); } @Override protected void onResume() { super.onResume(); ActivityControler.addActiivty(this); } @Override protected void onDestroy() { super.onDestroy(); ActivityControler.removeActivity(this); } }
若是想在某一个Actiivty中退出程序code
public class SecondActivity extends BaseActivity { private Button mButton; @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); mButton = (Button) findViewById(R.id.button); mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ActivityControler.removeAllActivity(); //android.os.Process.killProcess(android.os.Process.myPid()); } }); } }
若是想保证程序彻底退出,能够在finish掉全部Actiivty以后加上结束进程代码android.os.Process.killProcess(android.os.Process.myPid())blog