Я пытаюсь подключить метод внутри кода Always-On Display для телефонов OnePlus, но когда я использую XposedHelpers.findClass (), он возвращает java.lang.Class и, как таковой, возвращает noSuchMethodError.
Телефонный код:
findAndHookMethod("com.oneplus.aod.OpAodThreeKeyStatusView", lpparam.classLoader, "onThreeKeyChanged", "int", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
XposedHelpers.callMethod((XposedHelpers.findClass("com.oneplus.aod.OpAodDisplayViewManager", lpparam.classLoader)), "startDozing");
}
});
Я пытаюсь вызвать com.oneplus.aod.OpAodDisplayViewManager, который, как я знаю, существует, потому что я извлек APK из своего телефона. Однако он возвращает java.lang.Class, а затем возвращает, что метод startDozing не существует.
1 ответ
Поскольку XposedHelpers.findClass () возвращает java.lang.Class, решение заключалось в создании экземпляра нового объекта следующим образом:
Object displayManager = "com.oneplus.aod.OpAodDisplayViewManager"
А затем вызовите метод, используя этот объект, а не функцию findClass ()
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.