我正在使用Xposed做一些方法挂钩(目前只是为了学习)。 我已经成功地挂钩方法SendTextMessage(android.telephony.SmsManager), 我可以在调用之前和方法调用之后做一些事情,所以我的问题是,我能在之前做一些事情会导致原始方法不被调用吗?
谢谢,
答案 0 :(得分:7)
在"之前的某个地方使用它"钩子以防止调用原始方法
param.setResult(null);
(在"之后"挂钩它只会改变原始方法的结果,因为它已被执行)
答案 1 :(得分:2)
您可以使用XC_MethodReplacement
代替XC_MethodHook
来替换来电。
答案 2 :(得分:-1)
源代码中的注释表示防止方法调用的方法是调用MethodHookParam #setThrowable(Throwable)以防止调用该函数。所以把param传递给beforeHookedMethod并调用param.setThrowable(Throwable t)
请注意,Throwable只是Java中所有错误和异常的超类,因此您应该能够使用Exception或Error作为Throwable。