xposed 获取自身上下文context有效方法

xposed get owner(myself) activity context

我们知道的是

xposed中的hook文件和activity运行的不在一个进程。

不能直接操作自己,而且他们还在不同的路径中

共享数据还需要 MultiprocessSharedPreferences 等模块

当然通过hook自己是可以获取到的,获取到以后,把它存在公共变量,以便其它各方法调用

有什么用呢?

获取自身activity 的app所在路径

共享 SharedPreferences 共享数据

操作广播、通知、让自己不被杀后台等等。

取context代码如下:

public Context Main_context;
public void handleLoadPackage(final XC_LoadPackage.LoadPackageParam lpparam) throws Exception {
        if(Main_context !=null){
             XposedBridge.log("测试取包名" + Main_context.getPackageName());
        }
        XposedHelpers.findAndHookMethod(Application.class, "attach", Context.class, new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                super.afterHookedMethod(param);
                Main_context = (Context) param.args[0];

                XposedBridge.log("通过方法attach取得包名"
                +Main_context.getPackageName());
            }
        });
}

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注