Android 如何判断用户是第一次运行还是正在更新应用程序

Android 如何判断用户是第一次运行还是正在更新应用程序,android,migration,version,Android,Migration,Version,我有一个应用程序,用户使用的是版本X。当发布版本X+1时,我想告诉大家 如果用户是第一次运行该应用程序,或者他以前在X中,正在更新到X+1。一种方法是使用共享引用并将当前版本保存在其中。每次用户启动应用程序时,您都会检查当前版本是否与您在共享首选项中保存的版本不同 比如说 String appVer = ""; try { appVer = context.getPackageManager() .getPackageInfo(context.ge

我有一个应用程序,用户使用的是版本X。当发布版本X+1时,我想告诉大家
如果用户是第一次运行该应用程序,或者他以前在X中,正在更新到X+1。

一种方法是使用
共享引用并将当前版本保存在其中。每次用户启动应用程序时,您都会检查当前版本是否与您在共享首选项中保存的版本不同

比如说

String appVer = "";
try {
        appVer = context.getPackageManager()
                .getPackageInfo(context.getPackageName(), 0).versionName;
    } catch (NameNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return "";
    }

if(!pref.getString(Preferences.LAST_VER_CHK, "").equals(appVer)){
    //update preferences to new version
    //do whatever you want to do on the update
}

这是我使用的方法,不确定是否有其他方法

pref.getString的默认值应该永远不会成为版本号,因为您希望知道应用程序是第一次启动的(或者,appVer,如果您不想知道)@njzk2是的,我只是直接从我的代码中提取了这个,我在那里寻找一个特定的早期版本,之前没有存储这个共享引用。为什么你想知道这个?也许有更好的办法。@Simon那么你有什么建议?我不知道。你还没告诉我们你想做什么。