1
我试图挂钩Settings.System.putInt
方法是static
。这种方法的一个要求是方法com.android.settings.AirplaneModeEnabler
类。它被放置在Android的Settings
应用程序中。另外,在com.android.systemui
中使用putInt
方法。Xposed - 无法挂钩静态方法
但是,下面的代码不会挂钩putInt
方法。它没有给出任何例外,但它也不会转储任何带有内容“In android.provider.Settings.System
”的日志消息,这意味着beforeHookedMethod
未被调用,或者它不能被挂钩。 Loaded app
日志已打印。任何帮助是极大的赞赏。
@Override
public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable {
if (!(lpparam.packageName.equals("com.android.systemui") || lpparam.packageName.equals("com.android.settings"))) {
return;
}
XposedBridge.log("Loaded app: " + lpparam.packageName);
final Class<?> mClass = XposedHelpers.findClass("android.provider.Settings$System", lpparam.classLoader);
findAndHookMethod(mClass, "putInt", ContentResolver.class, String.class, "int", new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("In android.provider.Settings.System");
}
});
}
Xposed-Framework版本:54
Android版本:4.2.2
是的,使用class'Global'而不是'Settings'解决了我的问题。谢谢 – Shnkc