android引導頁首次展示,再次進入不再顯示的實現
阿新 • • 發佈:2019-01-27
我採用的是利用packagemanager獲取的versioncode,他的設定在上圖的位置,(具體是structure中app的flavor選項)所以每次版本迭代的時候將versioncode的版本增加1,也可以增加2,3等只要是整數並且比上一個數字大就可以,這樣在使用者軟體進行升級更新後,引導頁的內容都會展示,否則不改變versioncode的值,在版本更新覆蓋掉舊版本時引導頁也會預設不顯示….
具體程式碼如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 根據版本號判斷是不是第一次使用
PackageInfo info=null;
try {
info=getPackageManager().getPackageInfo(getPackageName(),0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
int currentVersion = info.versionCode;
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this );
int lastVersion = sp.getInt("VERSION_KEY", 0);
if (currentVersion>lastVersion){
// 第一次啟動將當前版本進行儲存
sp.edit().putInt("VERSION_KEY",currentVersion).commit();
setContentView(R.layout.activity_intro);
intro_vp = (ViewPager) findViewById(R.id.intro_vp);
}else {
// 非第一次啟動直接跳轉
Intent intent=new Intent(this,SplashActivity.class);
startActivity(intent);
}
我們用getDefaultSharedPreferences返回的是一個預設的儲存檔名稱是包名加_preferences
也可以用自己定義的getSharedPreferences去設定
private static String getDefaultSharedPreferencesName(Context context) {
return context.getPackageName() + "_preferences";
}