Android 获取 Google Play 商店应用程序版本

2024-03-17

我正在使用此代码来获取 Google Play 商店应用程序版本,但这导致我的应用程序挂起。请指定获取应用程序版本的另一种方法,或者我如何使用此代码使应用程序不会挂起并成功运行。

public class VersionChecker extends AsyncTask<String, String, String> {

    private String newVersion;

    @Override
    protected String doInBackground(String... params) {

        try {
            newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + "trai.gov.in.dnd" + "&hl=en")
                    .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("div[itemprop=softwareVersion]")
                    .first()
                    .ownText();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return newVersion;
    }
}

这是我从 asynctask 获取应用程序版本的代码

VersionChecker versionChecker = new VersionChecker();
try {
    String appVersionName = BuildConfig.VERSION_NAME;
    String mLatestVersionName = versionChecker.execute().get();
    if (versionChecker.compareVersionNames(appVersionName, mLatestVersionName) == -1) {
        showAppUpdateDialog();
    }
} catch (InterruptedException | ExecutionException e) {
    e.printStackTrace();
}

只需替换您的代码即可

.get()
.select("div[itemprop=softwareVersion]")
.first()
.ownText();

与以下:

.get()
.select(".hAyfc .htlgb")
.get(3)
.ownText();

它会起作用的..!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 获取 Google Play 商店应用程序版本 的相关文章

随机推荐

  • 始终排除在 SVN for Netbeans 中提交的文件夹

    我使用Netbeans 7 0和内置的SVN客户端进行开发 我希望始终从提交 更新中排除某些文件和文件夹 例如 缓存 或 日志 因为它们对于存储库本身并不重要 我没有找到任何设置来执行此操作 而且 Netbeans 也没有在其常见问题解答中
  • MySQL 在没有缓存的情况下增强性能

    我正在使用 MySQL 版本 5 5 14 从 500 万行的表运行以下查询 SELECT P ID P Type P Name P cty X P latlng as lat Y P latlng as lng P cur P ak P
  • JSDoc 和 JavaScript 单例文档

    我有一个 JavaScript 单例定义为 A description here class com mydomain ClassName function constructor lends com mydomain ClassName
  • 带有包含路径和源路径的 CMake - 基本设置

    我正在尝试建立一个看起来像我自己的项目的测试项目 只是为了让事情首先正常工作 它看起来像这样 MainProject inc main h MainProject src main cpp LibProject inc test h Lib
  • Codemagic IOS 构建需要很长时间才能完成

    我正在尝试在 Codemagic 上设置我的 flutter 应用程序 但为 IOS 构建大约需要 40 50 分钟 日志显示是compiling files c and cc 有很多这样的文件正在编译 有没有办法让构建速度更快 我是否缺少
  • 轻量级的 Scala fork join 语法

    尽管即将推出 java 7 标准 fork join 框架 但我正在构建一些语法轻量级的辅助方法 以便客户端并行运行代码 这是一个可运行的 main 方法来说明这个想法 import actors Futures object ForkTe
  • 如何将值从一种形式传递到另一种形式?

    考虑一下我有两个窗口窗体的情况 比如说F1 and F2 使用后F1 我现在已经打电话了F2 ShowDialog 这使得F2也在屏幕上 现在两种形式都可见 我如何从F1 to F2 另外 有一次F2 模态对话框 结束 如何返回数据F1 有
  • Android canvas drawText 文本的 y 位置

    我正在使用 Canvas 创建一个带有一些背景和一些文本的 Drawable 该可绘制对象用作 EditText 内的复合可绘制对象 文本是通过在画布上的 drawText 绘制的 但在某些情况下 我确实对绘制文本的 y 位置存在问题 在这
  • 我从哪里开始组装?

    嘿 我会用 C 语言编程 会一点 Python 和 Pascal 我真的很想学习汇编 我今年 18 岁 高中毕业 编程是 我的爱好 因为学业确实不是什么挑战 我下载了几本关于汇编的书籍 它们是 汇编的艺术 初学者的汇编 完全初学者的汇编和
  • Android 媒体记录器停止异常

    我正在从 Android 媒体录音机录制视频和音频 我正在检查剪辑长度 如果少于 2 秒 请删除它 但问题是 如果我从文件路径检查文件的持续时间 MediaRecorder 每次抛出异常后都会抛出异常 即使我录制 10 秒的音频 但是当我评
  • 为什么空基类优化 (EBO) 在 MSVC 中不起作用?

    为什么空基类优化 EBO 在Visual C 中没有得到充分应用 如果我有很多基类 我有什么办法可以帮助编译器进行这种优化吗 include
  • iOS UITesting 如何关闭 Popover(iPad Popover 不是警报样式)

    我有一个非常复杂的应用程序 有很多视图和弹出窗口 用于快速选择条目 我无法关闭弹出窗口 我尝试了很多类似的 点击窗口中的坐标 app otherElements PopoverDismissRegion 击中后面的元素 弹出窗口 根本不可点
  • Python KafkaConsumer 从某个时间戳开始消费消息

    我计划跳过主题的开头 只读取从某个时间戳到结束的消息 关于如何实现这一目标有任何提示吗 我猜你正在使用kafka python https github com dpkp kafka python https github com dpkp
  • 如何将列表视图放置在 SingleChildScrollView 中但防止它们单独滚动?

    我有一个像这样的小部件树 SingleChildScrollView Column Container ListView or GridView 问题是 当我的小部件树如上所示时 它会给我错误 需要油漆 所以我像这样改变我的小部件树 Col
  • C# 十六进制转ascii

    我正在尝试使用以下命令将十六进制字符串转换为 ASCII public void ConvertHex String hexString StringBuilder sb new StringBuilder for int i 0 i lt
  • 如何从 Android 上的 sqlite 数据库中删除旧行?

    我有一个参数 用户可以在其中选择应存储数据的时间段 我读到了days多变的 记录添加到数据库时的日期和时间存储在KEY DATE ADDED 它的创建方式如下 SimpleDateFormat dateFormat new SimpleDa
  • git-ftp 在 repo 根目录中的文件夹和文件名中添加尖号 (#)

    I use Git ftp https github com git ftp git ftp scripts to uploading of my project via FTP on shared hosting But there is
  • 在 Golang 中导入模块时如何捕获错误?

    在golang中 当我导入一个模块时 它的init 被执行 我假设在main 之前 这个函数中可能会产生一些错误 我如何捕获这些错误并在我自己的代码中处理它们 正如你所知 Go 中的错误是返回值 由于 init 不返回任何内容 因此如果出现
  • 在android中,当应用程序因滑动而被杀死时,如何执行代码?

    所以基本上我在 xamarin 上使用 C 创建了一个应用程序 一切都运行完美 我调用了一个事件处理程序 当我按下 Android 上的后退按钮时 它不会退出应用程序 只是将其移动到后台 为此 我使用了 public override vo
  • Android 获取 Google Play 商店应用程序版本

    我正在使用此代码来获取 Google Play 商店应用程序版本 但这导致我的应用程序挂起 请指定获取应用程序版本的另一种方法 或者我如何使用此代码使应用程序不会挂起并成功运行 public class VersionChecker ext