Xposed: как получить контекст при запуске приложения - PullRequest
0 голосов
/ 13 мая 2018

Я пытаюсь подключить все приложения, как я могу получить контекст приложения.

Я пытался

try {
    Class<?> ContextClass = XposedHelpers.findClass("android.content.ContextWrapper", lpp.classLoader);
    XposedHelpers.findAndHookMethod(ContextClass, "getApplicationContext", new XC_MethodHook() {
        @Override
        protected void afterHookedMethod(MethodHookParam param) throws Throwable {
            super.afterHookedMethod(param);

            if(applicationContext != null){
                return;
            }
            applicationContext = (Context) param.getResult();
            init();
        }
    });
} catch (Throwable t) {
    XposedBridge.log("error" + t);
}

Для некоторых приложений это работает, как я могу получить весь контекст?

1 Ответ

0 голосов
/ 25 января 2019

попробуйте:

findAndHookMethod(
                "android.content.ContextWrapper", loader, "attachBaseContext",
                Context::class.java, object : XC_MethodHook() {
            override fun afterHookedMethod(param: MethodHookParam) {
                callback(param.thisObject as? Application ?: return)
            }
        })
...