使用通知启动活动时,SharedPreferences无法正常工作

时间:2014-02-02 00:34:13

标签: android notifications sharedpreferences

使用通知启动活动时遇到问题。

我更改时存储布尔参数 X 的值。 代码如下所示

private void storePrefs() {
        SharedPreferences settings = getSharedPreferences(PREF, 0);
        SharedPreferences.Editor edit = settings.edit();
        edit.putString(PREF_init, X.toString());
        edit.commit();
}

当我使用Notification启动Activity时,无论我存储什么,它总是返回“true”。 恢复代码是这样的。

private void restorePrefs() {
    SharedPreferences settings = getSharedPreferences(PREF, 0);     
    String pref_init = settings.getString(PREF_init, "");
    if(!pref_init.equals("")) {
        X = Boolean.parseBoolean(pref_init);
    }
}

有谁知道它有什么问题吗? 谢谢。

2 个答案:

答案 0 :(得分:0)

尝试使用putBoolean()/ getBoolean(),而不是将其转换为字符串和从字符串转换。

答案 1 :(得分:0)

在使用之前打印PREF_init的值。我打赌它不同。此名称或PREF名称不同。除非您有理由不这样做,否则请使用默认的共享首选项btw。

是的 - 为此使用布尔值!