检查是否在LIBGDX中首次打开了应用程序

时间:2016-10-31 14:58:52

标签: android libgdx sharedpreferences

我正在尝试检查应用程序是否在LIBGDX中首次打开。我希望在级别选择屏幕中实现此逻辑。我希望精灵第一次变得与众不同。我已经实现了以下代码,

    private static Preferences prefs;
    public MenuScreen(MyGame game) {
         prefs = Gdx.app.getPreferences("firsttimeopen");
            if (prefs.getBoolean("lock",true) ) {
            prefs.putBoolean("lock", false);
            Gdx.app.log("firsttimeopening" + a, "firsttimeopening" + a);
             } else {
        Gdx.app.log("secondtimeopening" + a, "secondtimeopening" + a);
           }

当我打开app时,这两个条件都成立了。我不知道哪里出错了。我甚至提到了这个问题Platform-Specific Implementation Notes甚至这个问题stackoverflow,但没有任何帮助。帮我。提前谢谢。

1 个答案:

答案 0 :(得分:3)

来自wiki

  

只有在显式调用flush()方法时才会保留对首选项实例的更改。

在代码中添加该行:

prefs.putBoolean("lock", false);
prefs.flush();