簡體   English   中英

找到鈎住Xposed模塊的方法

[英]finding method to hook for Xposed Module

我正在嘗試制作一個Xposed模塊。 我首先閱讀了一個教程,其中包含了操作時鍾的指令。 代碼如下:

package de.robv.android.xposed.mods.tutorial;

import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
import android.graphics.Color;
import android.widget.TextView;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;

public class Tutorial implements IXposedHookLoadPackage {
    public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable {
        if (!lpparam.packageName.equals("com.android.systemui"))
            return;

        findAndHookMethod("com.android.systemui.statusbar.policy.Clock", lpparam.classLoader, "updateClock", new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                TextView tv = (TextView) param.thisObject;
                String text = tv.getText().toString();
                tv.setText(text + " :)");
                tv.setTextColor(Color.RED);
            }
        });
    }
}

我想現在制作我自己的模塊,在輸入模式鎖之后我必須執行一些操作。 進入模式后,我想讀取模式並根據模式執行一些操作。 請在這方面幫助我。 我甚至無法確定要掛鈎的方法。 我試圖找到它: http//grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/

謝謝!

我在android git上的keyguard源代碼中搜索了一下,我發現這個方法有這個方法你應該掛鈎。 在此方法中,您可以在正確的時間直接訪問模式。

findAndHookMethod("com.android.internal.widget.LockPatternUtils", lpparam.classLoader, "checkPattern", List.class /*You need to name the attribute's data type, I'm still not sure if List.class is enough, as the type is List<LockPatternView.Cell>*/, new XC_MethodHook() {
@Override
        protected void afterHookedMethod(MethodHookParam param) throws Throwable {
            List<?> pattern = param.args[0];
            // Proceed…
        }
});

稍微多一點,我找到了一個靜態方法,您可以使用它將模式轉換為String以獲得更好的可用性: LockPatternUtils.patternToString()

Class[] c = new Class[1];
c[0] = List.class;
XposedHelpers.callStaticMethod(XposedHelpers.findClass("com.android.internal.widget.LockPatternUtils", lpparam.classLoader), "patternToString", c, pattern);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM