我如何知道这是否是该应用程序首次启动?
如果您要回答,请添加完整的代码,因为我已经阅读了一些答案而且我不理解它们。
感谢。
答案 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应用程序时检查该布尔值是否存在以及它的值是什么。
同样,不确定这是否是正确的方法,这只是我自己的解决方法。