温馨提示×

android获取当前activity的方法是什么

小亿
485
2023-08-24 10:32:45
栏目: 编程语言

要获取当前的Activity,可以使用以下方法:

  1. 使用getRunningTasks()方法获取正在运行的任务列表,并从中获取当前的Activity。但是,从Android 5.0(API级别21)开始,该方法已被弃用,只有系统应用才能使用该方法。
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> taskInfoList = activityManager.getRunningTasks(1);
String currentActivity = taskInfoList.get(0).topActivity.getClassName();
  1. 使用getActivity()方法获取当前Activity。但是,这种方法只能在Activity内部使用。
String currentActivity = this.getClass().getSimpleName();
  1. 使用getComponentName()方法获取当前Activity的ComponentName。这种方法可以在任何地方使用。
String currentActivity = getComponentName().getClassName();

注意:使用上述方法,需要添加android.permission.GET_TASKS权限。从Android 10(API级别29)开始,该权限被移除,无法直接获取当前Activity。

0