【问题标题】:Retrieve App version from playstore programmatically in Android在 Android 中以编程方式从 playstore 检索应用程序版本
【发布时间】:2022-11-16 15:04:59
【问题描述】:

之前工作的代码现在不工作了。现在我得到的结果为空

我正在使用以下代码从 Playstore 获取应用程序版本。这之前工作正常。

newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + ActivitySplash.this.getPackageName() + "&hl=it")
        .timeout(30000)
        .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
        .referrer("http://www.google.com")
        .get()
        .select(".hAyfc .htlgb")
        .get(7)
        .ownText();

但是,现在我收到与以下相同的异常

java.lang.IndexOutOfBoundsException: Index: 7, Size: 0

【问题讨论】:

    标签: android google-play version


    【解决方案1】:

    从您本地的应用程序

    PackageManager pm = getApplicationContext().getPackageManager();
          String pkgName = getApplicationContext().getPackageName();
          PackageInfo pkgInfo = null;
          try {
             pkgInfo = pm.getPackageInfo(pkgName, 0);
          } catch (PackageManager.NameNotFoundException e) {
             e.printStackTrace();
          }
          String ver = pkgInfo.versionName;
    

    从市场

    您可以使用 Google Play In app update 功能仅从市场读取当前的 Version Code,但不幸的是它也不会返回版本名称。通过使用availableVersionCode() 功能。 但这是最准确的方法,因为可能有许多公开可用的版本,数量取决于用户(每个用户可能有不同的可用版本,具体取决于推出、国家、测试版注册、设备限制/类型等) .

    【讨论】:

    • 这为我提供了 build.gradle 中的应用程序版本。我想要 Play 商店中的应用版本
    • @JamesLobo 我已经更新了答案
    猜你喜欢
    • 2011-03-26
    • 2012-08-18
    • 2014-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多