Android应用.如果app是新安装或更新,如何在代码中检测?

Ale*_*lex 5 android install detection

除了使用SharedPreferences提供自定义解决方案之外,还有一种方法可以检测我正在运行的应用程序是否是先前安装的版本与新安装的更新?

在我可以查询的API中是否有任何奇异值?

Yau*_*dav 1

通过versionCode就可以知道!

您应该使用 versionCode 来检测应用程序是新安装还是更新。保存用户第一次安装应用程序时的versionCode值,当有新的更新时,新的versionCode的值会比以前的versionCode更大,因为版本码总是会增加。

VersionName 只是一个呈现给用户以供用户阅读的字符串。

public int getVersion() {
    int v = 0;
    try {
        v = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
    } catch (NameNotFoundException e) {
        
    }
    return v;
}
Run Code Online (Sandbox Code Playgroud)