2016-12-04 11 views
0

私のアプリでは、TextEditからSetValue(String)をフックしたいと思っています。XposedモジュールでSetValue(String)をフックする方法

public class XposedClass implements IXposedHookLoadPackage { 

    public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable { 

     String classToHook = "android.widget.EditText"; 
     String functionToHook = "setValue"; 

     if(lpparam.packageName.equals("my.com.app")) { 

      XposedBridge.log("Loaded app: " + lpparam.packageName); 

      findAndHookMethod(classToHook, lpparam.classLoader, functionToHook, String.class, 
        new XC_MethodHook() { 
       @Override 
       protected void beforeHookedMethod(MethodHookParam param) throws Throwable { 

        XposedBridge.log("hooking: " + param.args[0]); 

       } 

      }); 
     } 
    } 
} 

誰もが上記のフックコードで間違っていることを知っていますか?

答えて

1

Android API [0]に次のような定義の関数はありません。

android.widget.EditText.setValue(String) 

したがって、基本的に間違った機能を引き受けています。 android.widget.EditText.setText(CharSequence, TextView.BufferType)

Xposedログを確認して、コード内のフックエラーを知ることができます。間違った機能をフックしようとすると、NoSuchMethodExceptionがスローされます。

[0] https://developer.android.com/reference/android/widget/EditText.html

関連する問題