我正在尝试开发使用Xposed模块的应用程序。 在我的项目中,我从设备上运行的应用程序中取样,我可以选择哪些应用程序。 在Xposed模块中,我可以看到我的一个应用程序是否由一个公共列表启动,而我没有成功启动我的采样类,因为我没有上下文。我尝试通过FileObserver(模块写入FileObserver观察的文件)从引导服务进行,并仍然在FileObserver中的onEvent函数上我也没有上下文,我不知道如何启动我的样本班...... 任何解决方案请?
答案 0 :(得分:0)
如果您需要Xposed应用程序中的上下文,请选中this post。
如果您需要来自正在挂钩的应用程序的上下文,那么一个很好的技巧就是拦截在应用程序中启动新活动(活动扩展上下文)。 e.g:
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());
Context ctx = (Context) mCurrentActivity;
}
});
祝你好运!