反射得到全局Context

public static Context getContext() {
        Application application = null;
        try {
        Class activityThreadClass = Class.forName("android.app.ActivityThread");
            Object activityThread;
activityThread = activityThreadClass.getMethod("currentActivityThread").invoke(null);

            Field activitiesField = activityThreadClass.getDeclaredField("mInitialApplication");
            activitiesField.setAccessible(true);
            application = (Application)activitiesField.get(activityThread);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
        return application;
    }

你可能感兴趣的:(android)