次のコードは、アプリの新しいバージョンインストールされている:
private boolean showHelpOnFirstLaunch() {
try {
PackageInfo info = getPackageManager().getPackageInfo(PACKAGE_NAME, 0);
int currentVersion = info.versionCode;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
int lastVersion = prefs.getInt(PreferencesActivity.KEY_HELP_VERSION_SHOWN, 0);
if (currentVersion > lastVersion) {
//save the current version in order to compare it the next time a newer version is installed
prefs.edit().putInt(PreferencesActivity.KEY_HELP_VERSION_SHOWN, currentVersion).commit();
/* do what you want here */
return true;
}
} catch (PackageManager.NameNotFoundException e) {
Log.w(TAG, e);
}
return false;
}
PreferencesActivity
することは私のプロジェクトの活動であるが、それはに解決静的なリファレンスです:public static final String KEY_HELP_VERSION_SHOWN = "preferences_help_version_shown";
あなたが聞いて何をはるかに簡単です、あなただけチェックできますlastVersion>0
が存在する場合。そうでない場合は、デバイスに初めてアプリをインストールしたことを意味します。
アプリの実行時にデータがあるかどうかを確認します。データがある場合は、以前のバージョンのアプリがインストールされています。 – CommonsWare