美文网首页
通过类名反射获取acitivity

通过类名反射获取acitivity

作者: 我的资讯圈 | 来源:发表于2018-07-09 17:21 被阅读8次

public static ActivitygetActivity() {

Class activityThreadClass =null;

    try {

activityThreadClass = Class.forName("android.app.ActivityThread");

        Object activityThread = activityThreadClass.getMethod("currentActivityThread").invoke(null);

        Field activitiesField = activityThreadClass.getDeclaredField("mActivities");

        activitiesField.setAccessible(true);

        Map activities = (Map) activitiesField.get(activityThread);

        for (Object activityRecord : activities.values()) {

Class activityRecordClass = activityRecord.getClass();

            Field pausedField = activityRecordClass.getDeclaredField("paused");

            pausedField.setAccessible(true);

            if (!pausedField.getBoolean(activityRecord)) {

Field activityField = activityRecordClass.getDeclaredField("activity");

                activityField.setAccessible(true);

                Activity activity = (Activity) activityField.get(activityRecord);

                return activity;

            }

}

}catch (ClassNotFoundException e) {

e.printStackTrace();

    }catch (NoSuchMethodException e) {

e.printStackTrace();

    }catch (IllegalAccessException e) {

e.printStackTrace();

    }catch (InvocationTargetException e) {

e.printStackTrace();

    }catch (NoSuchFieldException e) {

e.printStackTrace();

    }

return null;

}

相关文章

  • 通过类名反射获取acitivity

    public static ActivitygetActivity() { Class activityThrea...

  • JAVA基础之反射

    1.通过反射获取类获取反射对象(反射入口):Class 1.Class.forName(全类名) 2.类名.cla...

  • Java反射基础

    使用反射获取类的信息 反射获取类的信息是通过Class类获取的,常用方法: String getName() 获...

  • Java 反射机制 (转)

    目录反射机制是什么反射机制能做什么反射机制的相关API通过一个对象获得完整的包名和类名实例化Class类对象获取一...

  • 3. 再谈spring IoC

    IoC实现原理 反射 : 在运行状态中,根据提供的类的路径或者类名,通过反射来动态的获取该类的所有属性和方法。 工...

  • Java反射机制

    通过反射创建一个对象(三步)第一步:获取类的信息参数:包名+类名Class class = Class.forNa...

  • Java 反射,这篇写的很透彻!

    一、反射机制是什么? 二、反射的具体使用 2.1 获取对象的包名以及类名2.2 获取Class对象2.3 getI...

  • Java反射和IO流知识点很基础,你真的融会贯通吗???

    反射 1. 概念 官方解释:反射是指在程序运行过程中,动态的获取类的信息,并且访问 我们通过反射还是获取类的信息(...

  • AOP

    AOP spring的IOC基于反射,通过读取配置文件获取对象的全限定类名,然后用反射创建,相当于是把BeanFa...

  • 2020-07-04【反射】

    类加载 类加载器 反射概述 获取Class类的对象 反射获取构造方法并使用 反射获取成员遍历并使用 反射获取成员方...

网友评论

      本文标题:通过类名反射获取acitivity

      本文链接:https://www.haomeiwen.com/subject/nsutpftx.html