CrashApplication.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package com.emato.ich.crash;
  2. import android.app.Activity;
  3. import android.app.Application;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. public class CrashApplication extends Application {
  7. private final List<Activity> mActivityList = new ArrayList<>();
  8. /**
  9. * 添加单个Activity
  10. */
  11. public void addActivity(Activity activity) {
  12. // 为了避免重复添加,需要判断当前集合是否满足不存在该Activity
  13. if (!mActivityList.contains(activity)) {
  14. mActivityList.add(activity); // 把当前Activity添加到集合中
  15. }
  16. }
  17. /**
  18. * 销毁单个Activity
  19. */
  20. public void removeActivity(Activity activity) {
  21. // 判断当前集合是否存在该Activity
  22. if (mActivityList.contains(activity)) {
  23. mActivityList.remove(activity); // 从集合中移除
  24. if (activity != null){
  25. activity.finish(); // 销毁当前Activity
  26. }
  27. }
  28. }
  29. /**
  30. * 销毁所有的Activity
  31. */
  32. public void removeAllActivity() {
  33. // 通过循环,把集合中的所有Activity销毁
  34. for (Activity activity : mActivityList) {
  35. if (activity != null){
  36. activity.finish();
  37. }
  38. }
  39. //杀死该应用进程
  40. android.os.Process.killProcess(android.os.Process.myPid());
  41. }
  42. }