gpt4 book ai didi

android - 应用重启后共享首选项不持久

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:02:35 25 4
gpt4 key购买 nike

我在这里找到了所有答案并尝试了所有解决方案,但我的共享偏好仍然不持久。

这是我的代码:

public static void setActivated(boolean activated) {
SharedPreferences sp = Utils.getContext().getSharedPreferences(
USER_PREFS, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putBoolean(ASD, activated);
editor.commit();
}

public static boolean isActivated() {
SharedPreferences sp = Utils.getContext().getSharedPreferences(USER_PREFS, Context.MODE_PRIVATE);
return sp.getBoolean(ASD, true);
}

我也试过:

editor.clear();
editor.put ..
editor.commit();

我也试过

editor.apply();

我什至尝试同时使用 .apply() 和 .commit() 但没有成功。

另一个想法是尝试对文件使用不同的模式:

...getSharedPreferences(USER_PREFS, Context.MODE_MULTI_PROCESS);

问题是保存的值不是持久的。如果我关闭应用程序然后重新打开它,所有值都是错误的。

有人有什么想法吗?我还要提到的是,问题仅出现在某些设备上,例如 HTC One S、三星 Galaxy S3(我在不同的 S3 上测试过,它运行良好)。

编辑:我在按钮点击监听器上调用保存,并在加载 fragment 时调用 isActivated(在 onViewCreated() 之后)。

谢谢!

最佳答案

您好,我认为它应该有效。如果清除不起作用,您可以尝试我的解决方案中详述的第二个选项:

你有两个选择:

  1. 在 Activity 的生命周期中获取共享偏好值。

  2. .commit

    之前调用.clear

看我的回答:

Android Persistent Checkable Menu in Custom Widget After Reboot Android

关于android - 应用重启后共享首选项不持久,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24282443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com