Android - 如何才能知道这是否是第一次启动应用程序?

时间:2011-12-23 15:22:29

标签: android methods launching-application

我如何知道这是否是该应用程序首次启动?

如果您要回答,请添加完整的代码,因为我已经阅读了一些答案而且我不理解它们。

感谢。

4 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:11)

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

SharedPreferences sharedPref = getSharedPreferences("FileName",MODE_PRIVATE);
SharedPreferences.Editor prefEditor = sharedPref.edit();
prefEditor.putString("isLauncedTime",true);
prefEditor.commit();

答案 2 :(得分:5)

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

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

答案 3 :(得分:0)

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

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

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