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

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

使用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();

使用getActivity()方法获取当前Activity。但是,这种方法只能在Activity内部使用。

String currentActivity = this.getClass().getSimpleName();

使用getComponentName()方法获取当前Activity的ComponentName。这种方法可以在任何地方使用。

String currentActivity = getComponentName().getClassName();

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

阅读剩余
THE END