Android获取Play商店应用版本

pri*_*hal 3 android version google-play

我正在使用此代码获取Play商店应用的版本,但这导致我的应用挂起。请指定获取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;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我从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(); 
} 
Run Code Online (Sandbox Code Playgroud)

Ket*_*tel 5

只需替换您的代码

                    .get()
                    .select("div[itemprop=softwareVersion]")
                    .first()
                    .ownText();
Run Code Online (Sandbox Code Playgroud)

以下:

                   .get()
                   .select(".hAyfc .htlgb")
                   .get(3)
                   .ownText();
Run Code Online (Sandbox Code Playgroud)

它会工作..!