1.利用SharedPreferences设置一个标签
在第一次启动时读取该标签默认为true,然后把文件中的该值设置为false即可。
SharedPreferences setting = getSharedPreferences(YOUR_PREF_FILE_NAME, 0);
Boolean user_first = setting.getBoolean("FIRST",true);
if(user_first){//第一次
setting.edit().putBoolean("FIRST", false).commit();
Toast.makeText(MainActivity.this, "第一次", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(MainActivity.this, "不是第一次", Toast.LENGTH_LONG).show();
}
2.通过versionCode来判断
1、从manifest中读取到android:versionCode,
2、然后将其与preference中的versioncode做比较,
3、当preference中的versioncode小于manifest中的版本号时,则代表此次启动为该版本的首次启动,
PackageInfo info = getPackageManager().getPackageInfo(PACKAGE_NAME, 0);
int currentVersion = info.versionCode;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
int lastVersion = prefs.getInt(VERSION_KEY, 0);
if (currentVersion > lastVersion) {
//如果当前版本大于上次版本,该版本属于第一次启动
......
//将当前版本写入preference中,则下次启动的时候,据此判断,不再为首次启动
prefs.edit().putInt(VERSION_KEY,currentVersion).commit();
}
其中PACKAGE_NAME为包名,VERSION_KEY为自定义的文件存储路径,名称任意取。
首次启动检测方法
本文介绍两种应用程序首次启动的检测方法:一是使用SharedPreferences设置特定标记;二是通过比较应用版本号实现。前者可在启动时检查并更新标记状态,后者适用于版本更新后的首次启动检测。
178

被折叠的 条评论
为什么被折叠?



