Xposed-Modules-Repo / com.fkzhang.wechatxposed

WeXposed (微X模块)
1.2k stars 38 forks source link

想学习下免重启配置生效的这个功能,大佬可否指点一下 #83

Closed hitwhoyxw closed 5 months ago

hitwhoyxw commented 5 months ago

public ConfigObject getConfigInApp() { ConfigObject configObject = null; xSharedPreferences.reload(); try { configObject = new ConfigObject( xSharedPreferences.getBoolean("isMoudleEnable", false), xSharedPreferences.getBoolean("isDelayEnable", false), xSharedPreferences.getBoolean("isMuteEnable", false), xSharedPreferences.getFloat("delayTimeMin", 0f), xSharedPreferences.getFloat("daleyTimeMax", 0f), xSharedPreferences.getString("muteKeyword", ""), xSharedPreferences.getBoolean("fetchMode", false) ); LogUtil.PrintLog("getConfigInApp" + configObject.toString(), TAG); } catch (Exception e) { Log.i(TAG, "getConfigInApp: " + e.getMessage()); } return configObject; }

`public static int getRandDelayTime(ConfigObject configObject) {
    int delayTimeMin = Math.round(configObject.delayTimeMin * 1000);
    int daleyTimeMax = Math.round(configObject.daleyTimeMax * 1000);
    if (delayTimeMin > daleyTimeMax) {
        int temp = delayTimeMin;
        delayTimeMin = daleyTimeMax;
        daleyTimeMax = temp;
    }
    int mSec = new Random().nextInt(daleyTimeMax - delayTimeMin + 1) + delayTimeMin;
    return mSec;
}`
这是举个简单的例子,通过xsharedpreference读写配置,模块app修改配置后不重启的话hook好像是不会变的,生成的值还是在原来的范围,使用wxposed模块发现是支持的,大佬如果能提供个思路不胜感激,respect
hitwhoyxw commented 5 months ago

重启指的是重启app,用的lsposed

hitwhoyxw commented 5 months ago

solve