判断程序是否是第一次启动

时间:2021-03-30 16:37:11
我们在谢欢迎界面时通常会遇到要判断程序是不是第一次启动,从而进行之后的操作。

判断程序是不是第一次启动最好的做法是将程序的版本号给取出来与当前程序的版本号进行判断:

PackageInfo info = null;
try {
info = getPackageManager().getPackageInfo(getPackageName(), 0);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
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();
} else {//不是第一次启动,跳过引导页直接到欢迎界面
Intent intent = new Intent();
intent.setClass(MainActivity.this, WelcomeActivity.class);
startActivity(intent);
}
SharedPreferences setting = getSharedPreferences(SHARE_APP_TAG, 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();     }  




	SharedPreferences sharedPreferences = this.getSharedPreferences("share", MODE_PRIVATE);    
boolean rightTxt = sharedPreferences.getBoolean("rightTxt", true);
Editor editor = sharedPreferences.edit();
if (rightTxt){ //判断缓存 是否是第一次登陆
Log.e("debug", "第一次运行");
editor.putBoolean("rightTxt",false);
editor.commit();
img.setImageResource(R.drawable.a5);
}