4

我怎么知道这是不是第一次启动应用程序?

如果您要回答,请添加完整的代码,因为我已经阅读了一些答案,但我不明白。

谢谢。

4

4 回答 4

17

每个应用程序都有一种存储首选项或选项的方法,因此您可以使用一个方法来确定该应用程序之前是否运行过

SharedPreferences runCheck = PreferenceManager.getSharedPreferences("hasRunBefore", 0); //load the preferences
Boolean hasRun = runCheck.getBoolean("hasRun", false); //see if it's run before, default no
if (!hasRun) {
    SharedPreferences settings = getSharedPreferences("hasRunBefore", 0);
    SharedPreferences.Editor edit = settings.edit();
    edit.putBoolean("hasRun", true); //set to has run
    edit.commit(); //apply
    //code for if this is the first time the app has run
}
else {
    //code if the app HAS run before
}
于 2011-12-23T16:03:16.960 回答
11

用于sharedPreferences持久数据存储。当应用程序首次启动时,只需在共享首选项中保存一个布尔值。然后每次检查。

SharedPreferences sharedPref = getSharedPreferences("FileName",MODE_PRIVATE);
SharedPreferences.Editor prefEditor = sharedPref.edit();
prefEditor.putString("isLauncedTime",true);
prefEditor.commit();
于 2011-12-23T15:34:32.830 回答
5

您可能想参考http://developer.android.com/guide/topics/data/data-storage.html#pref

您可以在首次执行应用程序时将布尔值加载到共享首选项中,然后在接下来的运行中检查它是否为真,这样您就知道程序已经运行过一次。

于 2011-12-23T15:31:38.137 回答
0

我不知道这是否是最好的解决方案,但是...

我尝试在 Android 的文件系统中存储一个简单的布尔值,并在启动 android 应用程序时检查该布尔值是否存在以及它的值是什么。

同样,不确定这是否是正确的方法,这只是我自己解决这个问题的方法。

于 2011-12-23T15:26:26.597 回答