Android之获取当前Activity名称
16lz
2022-01-26
一、创建类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();
更多相关文章
- Android入门:Button
- Android简单的Fragment嵌套Fragment(Viewpager+Fragement)
- android studio获取SH1码
- android 通过资源文件名称获取资源文件id
- Android开发之自定义PopupWindow记录
- Android读取手机联系人且获得联系人手机号+名称
- 快捷方式工具类
- Android获取WiFi ip相关信息
- android studio 3.0 修改release生成的apk名称