要在Android中获取当前Activity的信息,可以通过以下方式之一:
ActivityManager
类来获取当前正在运行的Activity的信息:ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> runningTasks = activityManager.getRunningTasks(1);
if (!runningTasks.isEmpty()) {
ComponentName componentName = runningTasks.get(0).topActivity;
String currentActivityName = componentName.getClassName();
// 获取当前Activity的信息
}
ActivityLifecycleCallbacks
接口来监听Activity生命周期变化,并在onActivityCreated
回调方法中获取当前Activity的信息:public class AppLifecycleHandler implements Application.ActivityLifecycleCallbacks {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
String currentActivityName = activity.getClass().getSimpleName();
// 获取当前Activity的信息
}
// 其他回调方法...
}
在Application
类中注册该监听器:
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
registerActivityLifecycleCallbacks(new AppLifecycleHandler());
}
}
这样,在每次Activity创建时,都会调用onActivityCreated
方法,从而获取当前Activity的信息。
请注意,由于Android系统版本的不同,某些方法可能已被弃用或不再可用。因此,建议在具体实现中根据你的应用程序和目标Android版本进行相应的调整。