判断android第一次启动

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();  
   } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

其中PACKAGE_NAME为包名,VERSION_KEY为自定义的文件存储路径,名称任意取

猜你喜欢

转载自blog.csdn.net/adaixiaoxiao/article/details/78143311