如何在市场上获取我的Android应用程序的当前版本?我只想查看版本

时间:2015-07-03 11:56:48

标签: android google-play android-webservice

例如,如果用户点击检查更新,则操作应为..

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

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

提前致谢:)

3 个答案:

答案 0 :(得分:0)

你无法获得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。

不存在您可以从Android应用程序市场获取版本的替代方案,为什么?应用程序有他们的代码,而不是所有应用程序的代码相同......

告诉我,如果我帮助你并做好编程!

答案 1 :(得分:0)

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图书馆

答案 2 :(得分:-1)

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

但我正在使用服务器在我的应用程序中这样做。 我将即将推出的应用版本放在服务器上并从应用程序获取当前的应用程序版本使用此代码

main()

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

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

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