Android:如何在我更新市场上的应用程序时执行某些代码?

0 versioning android google-play

我需要知道,当用户从市场(谷歌播放)安装我的新更新时,是否有第一次在我的应用程序中运行一段代码的方法?

每次上传新版本的应用时,我都需要运行一次代码吗?

谢谢阅读.

Rag*_*ood 6

使用SharedPreferences存储应用程序的最新版本和当前版本,并在每次版本更改时运行一次代码.就像是:

    public static final String LAST_VERSION = "LAST_VERSION";
    public static final int VERSION_CODE = 4; // Same as the version code in your manifest.

    SharedPreferences prefs = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = prefs.edit();

    mContext = this;

    int last = prefs.getInt(LAST_VERSION, 0);
    if (last < VERSION_CODE) {
        //Your code
        editor.putInt(LAST_VERSION, VERSION_CODE);
        editor.commit();
    }
Run Code Online (Sandbox Code Playgroud)

  • 我觉得这很危险.因为如果用户重置电话或清除cach,则清除共享的pref.因此,您将执行相同的代码 (3认同)
  • 这个答案是错误的,你应该使用 BuildConfig.VERSION_CODE 因为它比使用必须手动更新以完全匹配 BuildConfig.VERSION_CODE 的常量更简洁 (2认同)