我有这段代码在第一次运行时应读取未设置的首选项:

protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    SharedPreferences settings = getPreferences(MODE_PRIVATE);
    firstTime = settings.getBoolean("firstTime", true);
    Log.d("mything", "firstTime returns as: " + firstTime);
    SharedPreferences.Editor editor = settings.edit();
    editor.putBoolean("firstTime", false);
    editor.commit();


变量“ firstTime”始终返回为false。
我正在卸载我的应用并重新加载。

有人可以解释吗?

提前致谢

最佳答案

您是否正在使用带有2.2.1固件的Samsung Galaxy S?有一个已知的错误,即如果卸载了应用程序,则不会删除共享首选项。例如,查看注释here

关于android - 使用getPreferece()设置首次运行标志,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5949525/

10-09 15:57