一、创建类ActivityCollector

public class ActivityCollector {    public static List activities=new ArrayList<>();    public static void addActivity(Activity activity) {        activities.add(activity);    }    public static void removeActivity(Activity activity) {        activities.remove(activity);        if (!activity.isFinishing()) {            activity.finish();        }    }    public static void finishAll() {        for(Activity activity:activities){            if (!activity.isFinishing()) {                activity.finish();            }        }        activities.clear();    }}


二、创建一个BaseActivity类继承与AppCompatActivity,让工程里所有的Activity都继承于BaseActivity。

public class BaseActivity extends AppCompatActivity{      @Override   protected void onCreate(Bundle savedInstanceState){      super.onCreate(savedInstanceState);      Log.i("BaseActivity", getClass().getSimpleName());      ActivityCollector.addActivity(this);   }   @Override   protected void onDestroy(){      super.onDestroy();      ActivityCollector.removeActivity(this);   }}


三、获取当前Activity名称

1. 不包括包名的Activity名称(例如MainActivity)

int num = ActivityCollector.activities.size()-1;String activityName = ActivityCollector.activities.get(num).getClass().getSimpleName();

2.包括包名的Activity名称(例如View.Presentation.MainActivity)

int num = ActivityCollector.activities.size()-1;String activityName = ActivityCollector.activities.get(num).getLocalClassName();


更多相关文章

  1. Android读取手机联系人且获得联系人手机号+名称
  2. android工程没有gen路径
  3. android studio 3.0 修改release生成的apk名称
  4. 开发者工程师软件工程师的IOS,WindowsPhone前景与android对比
  5. Android工程 引用另外一个Android工程(类库)

随机推荐

  1. Activity 与 Fragment 通信方式总结
  2. 安卓通过recyclerview进行全表增删改查
  3. android基本属性
  4. Android(安卓)6.0 监听系统通知(Notifica
  5. android无法转换字符串到整型
  6. Windows 安装Calabash-Android
  7. Android,自定义ViewGroup实现titleBar
  8. Android(安卓)父类super.onDestroy();的
  9. 我的Android进阶之旅------>Android用Pop
  10. 【整理】Android-Recovery Mode(recover模