The background is :
The answer from the poster below is more succinct:
Context context = (Context) AndroidAppHelper.currentApplication();
An alternative hack is to retrieve the current activity (which can be cast to Context) like this:
Class> instrumentation = XposedHelpers.findClass(
"android.app.Instrumentation", lpparam.classLoader);
XposedBridge.hookAllMethods(instrumentation, "newActivity", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
mCurrentActivity = (Activity) param.getResult();
Log.v(TAG, "Current Activity : " + mCurrentActivity.getClass().getName());
}
});
Regarding the class loader, if it consists of the main app classloader then you can retrieve it from LoadPackageParam passed to the handleLoadPackage method.
If the app itself creates a new DexClassLoader then you can hook the DexClassLoader constructor to keep a reference to it.
That way you have the actual ClassLoader that contains your class and method. No need to get any context.