如何检测Android App已从x版本升级到y版本?

EV2*_*221 0 android android-version android-update-app

由于自身的教育原因,我的Android应用存在问题。

是否有现成的解决方案来检测该应用程序现在已从版本x更新为y?因为我只想在以前以特殊版本安装应用程序时才迁移一些数据。

谢谢。

Tan*_*.7x 5

最简单的方法是将应用程序的最新已知版本存储在SharedPreferences中,并检查该应用程序何时启动。

您可以使用来获取应用程序的当前版本代码BuildConfig.VERSION_CODE

例如:

@Override
public void onStart() {
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    int lastKnownVersion = prefs.getInt("lastKnownAppVersion", 0);

    if (lastKnownVersion < BuildConfig.VERSION_CODE) {
        // Your app has been updated

        prefs.edit().putInt("lastKnownAppVersion", BuildConfig.VERSION_CODE);
    }
}
Run Code Online (Sandbox Code Playgroud)

注册BroadcastReceiver以侦听ACTION_MY_PACKAGE_REPLACED意图将告诉您何时更换(即更新了)您的软件包,但是这不会告诉您以前安装了哪个版本。