【问题标题】:How to get current version of my Android app in market ? I just want to check version如何在市场上获得我的 Android 应用程序的当前版本?我只想检查版本
【发布时间】:2015-07-03 11:56:48
【问题描述】:

例如,如果用户点击检查更新,那么操作应该是..

  • 在市场上检查我的应用程序的版本
  • 如果我的应用程序的当前版本和市场版本不一样,那么我只想给出一个“立即升级”的对话框。

还想知道没有WebServices这个aciton有什么可能吗?因为我已经用WebServices 参考了一些答案,而不是有任何可能性,那么请分享你的知识。

提前致谢:)

【问题讨论】:

标签: android google-play android-webservice


【解决方案1】:

您无法获取 android 市场应用程序的版本,我想解释一下...您可以使用以下代码获取应用程序的当前版本:

public int getAppVersion(Context context) {
    try {
        PackageInfo packageInfo = context.getPackageManager()
                .getPackageInfo(context.getPackageName(), 0);
        return packageInfo.versionCode;
    } catch (PackageManager.NameNotFoundException e) {
        // should never happen
        throw new RuntimeException("Could not get package name: " + e);
    }
}

如果你想知道有android市场的版本,那是不可能的,你需要考虑替代方案,webservice你怎么说......在我的例子中,我将Android Market的版本保存在我的服务器中,当我将我的应用程序与我的服务器同步时,我获得了 AndroidMarket 版本,然后此时我可以比较版本并应用必要的代码,在你的情况下为 showDialog。

不存在可以从安卓应用市场获取版本的替代方案,为什么?应用程序有自己的代码,并非所有应用程序的代码都相同...

告诉我我是否帮助过你和好的编程!

【讨论】:

  • 感谢您的帮助。
【解决方案2】:
public String getLatestVersionNumber()
{
String versionNumber = "0.0.0";

try
{
    Document doc = Jsoup.connect("<market:urlofparticularapp>").get();
    Elements changeLog = doc.select("div.clDesc");

    for (Element div : changeLog)
    {
        String divText = div.text();

        if (divText.contains("Version"))
        {
            return divText.split(" ")[1];
        }

    }
}
catch (IOException e)
{
    e.printStackTrace();
}

return versionNumber;
}

http://jsoup.org/download下载Jsoup库

【讨论】:

    【解决方案3】:

    据我所知,没有办法获得当前版本的市场应用程序。

    但我在我的应用程序中通过使用服务器来执行此操作。 我正在将即将推出的应用程序版本放在服务器上,并通过使用此代码从应用程序获取当前应用程序版本

    oldVersion = Splash.this.getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
    

    当应用程序启动时,我们将从服务器获取版本并与旧用户的应用程序版本进行比较。如果版本不匹配,则使用此代码为应用程序提供更新弹出窗口

    Uri uri = Uri.parse("market://details?id=" + MainActivity.this.getPackageName());

    Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
                                try {
                                    MainActivity.this.startActivity(goToMarket);
                                } catch (ActivityNotFoundException e) {
                                    MainActivity.this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + MainActivity.this.getPackageName())));
                                }
    

    【讨论】:

      猜你喜欢
      • 2012-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-26
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多