【问题标题】:Detection of old version application on Android检测Android上的旧版本应用程序
【发布时间】:2017-01-19 01:53:00
【问题描述】:

我将把我的应用程序的新版本放到 Google Play 中。检测手机上是否安装了旧版应用程序的最佳方法是什么?

请注意,我会检测是否安装了我的应用程序的旧版本。请注意,我的应用程序安装在手机上,我没有关于版本的信息(我不认为我会分发新版本)。

【问题讨论】:

  • 您不必这样做。 Google Play 将更新您应用的所有旧版本,因为您的版本代码高于您之前上传的 APK
  • 我的意思是别的。我想检测我的手机上是否安装了旧版本(或已安装 - 在安装过程中安装了新版本,旧版本已卸载)
  • 除非应用程序中已经有机制识别它正在安装,否则没有办法。

标签: android


【解决方案1】:

我曾经在用户尝试登录时将版本APP发送到服务器,后来我将该版本与保存在数据库中的当前版本进行比较。

【讨论】:

    【解决方案2】:

    如果您只想获取相关信息,可以在开发者控制台中进行。

    登录您的开发者帐户。 有图表和信息可以显示您想知道的一切。

    选择您的应用,您可以在其中查看手机型号、Android 版本和应用版本的安装情况。

    查看更多信息here

    【讨论】:

    • 我想在我的新版应用中检测到它。
    【解决方案3】:

    如果您还没有存储版本代码的方法,那么这种方法应该可行:

    首先获取当前版本代码如下,在onCreate()方法中:

    public int versionCode;
    PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
    versionCode = pInfo.versionCode;
    

    添加代码保存当前版本代码如下,在onStop()方法中:

    SharedPreferences sp = getSharedPreferences("prefs", Activity.MODE_PRIVATE);
    SharedPreferences.Editor editor = sp.edit();
    editor.putInt("version_code", versionCode);
    editor.commit();
    

    然后在onCreate()方法本身获取上一版本代码如下:

    public int prevVersionCode = -1;
    
    SharedPreferences sp = getSharedPreferences("prefs", Activity.MODE_PRIVATE);
    int prevVersionCode = sp.getInt("version_code", -1);
    
    if(prevVersionCode == -1) {
        // this will happen on a previous app version
    }
    

    如果 prevVersionCode 等于 -1 ,则表示这是已更新的旧版本应用程序。

    如果 prevVersionCode 不等于 -1 ,这意味着刚刚更新应用程序的版本比添加此保存代码的版本新。

    现在您可以使用 versionCodeprevVersionCode 轻松比较版本,请注意,如果 prevVersionCode 等于 -1,则表示之前该应用程序的版本没有存储方法,但现在它已更新到较新的版本。

    例如: 假设应用当前的版本代码为 13,您添加此代码并使用版本代码 14 发布更新。所以当用户更新应用时,prevVersionCode 将等于-1,你可以做任何你想做的事。 versionCode 将等于 14,但 prevVersionCode 将给出 -1,仅在首次运行时。重新启动时,versionCodeprevVersionCode 都会给出 14

    现在假设您进一步更新您的应用并使用 versionCode 15 发布更新。现在在更新应用的首次运行时,versionCode 将给出 15,但 prevVersionCode 将给出 14。但重启后 both 将给出 15。

    【讨论】:

      猜你喜欢
      • 2021-01-23
      • 1970-01-01
      • 1970-01-01
      • 2014-05-28
      • 1970-01-01
      • 2018-06-11
      • 2013-07-05
      • 2012-10-20
      • 2011-12-25
      相关资源
      最近更新 更多