好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 ouyang12138 于 2024-1-30 15:01 编辑
使用的xsharedpreference进行配置数据的存取,即使设置了数据监听回调,在变更时调用xsharedpference.reload,hook读取到的配置仍然是修改前的。
但是了解到wxposed模块是可以随时改随时生效的,想了解有什么方法可以实现这种,我是通过模块的activity来设置配置,在宿主中读的
贴下代码
public void setOnSharedPreferenceChangeListener() { if (null == listener) {
listener = new XSharedPreferences.OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
LogUtil.PrintLog("onSharedPreferenceChanged", TAG);
xSharedPreferences.reload();
}
};
}
if (xSharedPreferences != null) {
LogUtil.PrintLog("setOnSharedPreferenceChangeListener", TAG);
xSharedPreferences.registerOnSharedPreferenceChangeListener(listener);
}
}public ConfigObject getConfigInApp() {
ConfigObject configObject = null;
try {
configObject = new ConfigObject(
xSharedPreferences.getBoolean("xxx", false),
xSharedPreferences.getBoolean("xxxx", false),
xSharedPreferences.getBoolean("xxxxx", false),
xSharedPreferences.getFloat("xxxxxx", 0f),
xSharedPreferences.getFloat("xxxxxxx", 0f),
xSharedPreferences.getString("xxxxxxxx", ""),
xSharedPreferences.getBoolean("xxxxxxxx", false)
);
} catch (Exception e) {
Log.i(TAG, "getConfigInApp: " + e.getMessage());
}
return configObject;
} |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|