java - SharedPreferences 不返回默认值

标签 java android

我有一个共享首选项,并且我创建了一个方法来检查用户是否是第一次使用该应用程序。但它总是返回与默认值相反的值。

我的代码:

public static Boolean getFirstOnApp(Context context) {
    SharedPreferences pref =  context.getSharedPreferences(LOGIN_PREFS_NAME, Context.MODE_PRIVATE);
    return pref.getBoolean(KEY_FIRST_TIME_ON_APP, true);
}

总是返回false

我在我的 Controller 上调用它:

 if (SaveSharedPreferences.getFirstOnApp(context)) {
            fabAtivaMapeamento.performClick();
            SaveSharedPreferences.setFirstOnApp(context, false);
        }

SaveSharedPreferences.setFirstOnApp(context, false); 以前从未被调用过。它仅在此 If

内更改

我已经卸载了该应用,强制其停止,清除了数据和缓存。

如何解决?

最佳答案

像这样使用来检查是否是第一次

SharedPreferences pref = getSharedPreferences(LOGIN_PREFS_NAME, Context.MODE_PRIVATE);
        if (pref.getBoolean(KEY_FIRST_TIME_ON_APP, false)) {

           //in here it's not for first time

        } else {

             //in here it's first time
        }

关于java - SharedPreferences 不返回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57100429/

相关文章:

android - 什么是 uri,contentValues

Android Studio lint 报告 "cannot infer argument types."

android - 使用 MediaPlayer 播放声音时出现无效属性错误

android - 带有可滑动查看的Android选项卡布局显示在底部

java - Spring:RestTemplate 返回空对象

java - Gson:解析泛型集合

java - CompletableFuture.allOf() 在等待完成时是否比使用 CompletableFuture.join() 的循环有任何优势?

java - ActiveMQ:如何使旧消息出队?

java - Apache Felix Web 控制台

Android Camera2 API 缓冲区和相机断开连接问题